1、
public class A {
public void fun(){
System.out.println("A类中的方法");
}
}
public class B extends A {
public void fun() {
System.out.println("B类中的方法");
}
}
public class Program {
public static void main(String[] args) {
B b = new B();
b.fun();
}
}
运行结果:
B类中的方法
2、
public class Program {
public static void main(String[] args) {
A a = new B();
a.fun();
}
}
运行结果:
B类中的方法
3、
public class Program {
public static void main(String[] args) {
A a = new B();//向上转型
B b = (B) a;//向下转型
b.fun();
}
}
运行结果:
B类中的方法
引用毕向东教程的一段话:
1.成员变量:编译和运行都参考左边。
2.静态函数:编译和运行都看左边
3.成员函数(非静态):编译看左边,运行看右边