- 子类对象可以用父类变量来接收,编译运行不报错,这种情况下,只能调用父类方法,如果父类又是其他类的子类,则可以调用父类的父类
- 父类对象可以通过强制转换 用子类变量接收 ,编译不报错,运行出错,可调用父类子类方法
- 父类变量可以接收子类对象以及子类的子类对象,编译运行不报错,只能调用父类方法
A extends B B extends C
B b = new A();
b.b_method();
b.c_method();
A a = (A) new B();(这种是错误的)
a.a_method();
a.b_method();
C c = new B();
C c = new A();
c.c_method();