多态性
1、多态的体现:
方法的重载和重写
对象的多态性
2、对象的多态性:
向上转型: 程序自动完成
父类 父类对象 = 子类实例;
A 父类 方法c1 c2
B extends A 方法 c1 c3
//向上转型
B b = new B();
A a =b;
//可以写成
A a = new B();
a.c1(); // 方法重写 用了B里的a1方法
a.c2(); //A里的方法
向下转型:强制类型转换
子类 子类对象 =(子类)父类实例
A 父类 方法c1 c2
B extends A 方法 c1 c3
//向下转型
A a = new B();
B b = new (B)a;
b.c1(); //B里的 c1
b.c2(); //A里的c2 继承了A 所以可以用
b.c3(); //B里的c3