多态性
-
多态性可以理解为一个事物的多种形态
-
何为多态性
对象的多态性:父类的引用指向子类的对象(子类的对象赋给父类的引用)
例
父类 变量名 = new 子类()
-
多态的使用:虚拟方法的调用
有了对象的多态性以后,我们在编译期,只能调用父类的中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。
总结:编译看左边,运行看右边
-
多态的使用前提
- 类的继承关系
- 方法的重写
-
对象的多态性,只适用于方法,不适用于属性
-
测试的代码
package 多态性测试.初练多态; public class Smile { int count = 101; public void smile(){ System.out.println("我能笑"+count); } }
package 多态性测试.初练多态;
public class Face extends Smile {
int count = 102;
public void smile(){
System.out.println("我有好多脸"+count);
}
}
package 多态性测试.初练多态;
public class FaceTest {
public static void main(String[] args) {
Face sm = new Face();
sm.count = 103;
sm.smile();
}
}