Toolkit.getDefaultToolkit()实现了beep()方法所在接口并在其中实现了beep()方法,我没用过这些借口与方法,但原理是这样的

解决方案 »

  1.   

    getDefaultToolkit()返回的是一个实例, 是Toolkit的子类
      

  2.   

    Toolkit.getDefaultToolkit()访回Toolkit的子类化非抽象类的实例上传至Toolkit,而调用的是已被子类覆写的非抽象方法beep()。
      

  3.   

    恩,getDefaultToolkit()返回的是一个的实例,既然是实例那就说明在这个实例中的beep()方法已经被实现了.
      

  4.   

    public abstract void beep();
    public static Toolkit getDefaultToolkit();这是在Toolkit类中的声明,它返回的是Toolkit类对象,或者说父类的方法可以返回子类的对象?那为什么不直接用子类的对象调用beep()?
      

  5.   

    1.谁说不行
    2.增加灵活性。
      refer to objects by their interfaces