创建类A
public class A {
public void func1() {
System.out.println(this.getClass().getName()+"---func1");
}
}
创建类B
public class B extends A{
@Override
public void func1() {
super.func1();
System.out.println(this.getClass().getName()+"---func1");
}
}
在调用时:
public class Test {
public static void main(String[] args) {
A a = new B();
a.func1();
}
}
为何结果为:
cn.java.oop.B---func1
cn.java.oop.B---func1
而不是
cn.java.oop.A---func1
cn.java.oop.B---func1
感谢Sanjay yww与毕小宝
再测了把-》
public class Test {
public static void main(String[] args) {
A a = new B();
// a.func1();
System.out.println(a.getClass().getName());
}
}
结果为:
cn.java.oop.B