Q:

How methods of Object class be visible through interface? 

interface A {

    void hi();  
}

class AImpl implements A {

 public void hi() {

        System.out.println("hi");
    }

    public void to() {
        System.out.println("Test");
    }
}    

public class InterfaceTest {
    public static void main(String[] args) {

        A a = new AImpl();
        a.hi();
        System.out.println(a.hashCode());
        //a.to();
    }
}

here interface A has no inheritance relationship with Object class but all the mehods of Object class can be access through the interface. 
why? 

A:

From the Java Language Specification section 9.2:

The members of an interface are: 

Those  members declared in the interface. 
Those members inherited from direct superinterfaces. 
If an interface has no direct superinterfaces, then the interface implicitly declares a public
  abstract member method m with
  signature s, return type r, and throws
  clause t corresponding to each public
  instance method m with signature s,
  return type r, and throws clause t
  declared in Object, unless a method
  with the same signature, same return
  type, and a compatible throws clause
  is explicitly declared by the
  interface.  It is a compile-time error
  if the interface explicitly declares
  such a method m in the case where m is
  declared to be final in Object. 

The third bullet is the important one - basically interfaces which don't extend any other interfaces automatically inherit hashCode etc.