先看下面这段程序:
interface A{

}
public class B implements A{
public static void main(String [] args){
A a = new B();
System.out.println(a.toString());
}
}
在JDK文档里面看,接口没有默认的toString方法,那它是怎样通过接口回调调用Object的toString方法的呢?5555,不明白。

解决方案 »

  1.   

    接口没有定义toString,实现类也没有重写toString,所以调用父类Object的toString
      

  2.   

    谢谢回复啊,我疑问的是,接口回调不是只能调用自己定义的方法吗?而它里面没有toString啊?
      

  3.   

    所有的java类都默认继承Object类的,就是说,即使你定义一个类的时候没有继承父类,他也继承了Object类
      

  4.   

    我知道啊,但是我从JDK文档里看不出接口里有Object方法的迹象啊!555
      

  5.   

    这一句A a = new B();
    这样接口回调之后,对象a不是只能用A里面的方法了吗?但A里面没有toString啊?绕糊涂了!