public class Test{
    public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
        Class c = Class.forName("com.effectiveJava.T.Sub");
        // 可通过Debug看到结果
        base b = (base) c.newInstance();
        b.f();
    }

}
class base{
    public void f(){
        System.out.println("1");
    }
}
class Sub extends base{
    @Override
    public void f(){
        System.out.println("2");
    }
}

输出:2,通过Debug看到

new哪个对象,即使接收的不是该对象(而是超类),调用的也是该对象的方法

 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2021-05-26
  • 2022-12-23
  • 2021-11-20
  • 2021-10-28
  • 2022-12-23
  • 2022-12-23
  • 2021-12-01
猜你喜欢
  • 2021-11-16
  • 2022-01-04
  • 2022-12-23
  • 2021-11-27
  • 2022-02-06
  • 2021-12-16
  • 2021-11-30
相关资源
相似解决方案