多态
1.多态是啥?
1.1、含义:多肽是父类型引用指向子类型的对象
1.2、语法:(Animal a = new Dog();)
其中Animal是父类型
a是引用
new表示运算符 表示创建一个对象
Dog()是子类型对象
1.3、多态表示多种形态
编译时一种形态 运行时一种形态
例如以上面代码作为例子 假设 animal 和dog继承类写一个move方法
a.move()会分为两个阶段 编译阶段 运行阶段
编译阶段:(静态绑定父类方法)只检查语法 不创建对象 编译器会检查语法 由于a的类型是Animal 它会去找Animal.class里面的方法 有就静态绑定move() 然后编译通过
运行阶段:(动态绑定子类方法)运行阶段会创建dog对象 然后a中保存的必然是dog对象内存地址 参与这个方法的实际上是dog对象 所以运行时会动态执行move()方法 这个阶段属于运行阶段绑定 叫动态绑定
07-01
05-11
10-09
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交