多态的总结

来源:互联网 发布:数据倒卖 编辑:程序博客网 时间:2024/06/09 22:08

多态

多态是继封装,继承之后,面向对象的第三大特性.

三个条件

  1. 有继承或者实现(二选一)
  2. 方法的重写
  3. 父类引用指向子类对象

最终体现形式

//父类引用指向子类对象:Fu f = new Zi();

多态中的成员特点

  • 成员变量 : 编译看左边,运行也看左边;
  • 成员方法 : 编译看左边,运行看右边.

原因 :

  1. 编译期间,编译器只认识左边 ,因为不知道创建的具体是什么对象.所以,只能看父类的.
  2. 运行期间,因为有方法的重写,所以对于方法来说,动态绑定.创建的是哪个子类,运行的就是哪个子类的方法.但是,成员变量没有重写的概念,所以,还是只能看左边的父类.

补充

  • java编译器把java源码编译成字节码 (.class文件).
  • jvm是在运行期将class文件编译成机器码文件.供程序运行.
1 0