一.面向对象特征之三:多态性
1.理解多态性:可以理解为一个事物的多种形态。
2.何为多态性:
对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)
3.多态的使用:虚拟方法调用
- 有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。
------------ 总结:编译,看左边;运行,看右边。--------------------------------------
4.多态性的使用前提: ① 类的继承关系 ② 方法的重写
5.对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)
-------------------总结:线上随便转,线下不能转------------------------------------------------
二. final:最终的
-
final可以用来修饰的结构:类、方法、变量
-
final 用来修饰一个类:此类不能被其他类所继承。
比如:String类、System类、StringBuffer类 -
final 用来修饰方法:表明此方法不可以被重写
比如:Object类中getClass(); -
final 用来修饰变量:此时的"变量"就称为是一个常量
4.1 final修饰属性:可以考虑赋值的位置有:显式初始化、代码块中初始化、构造器中初始化
4.2 final修饰局部变量:
尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值
以后,就只能在方法体内使用此形参,但不能进行重新赋值。
4.3 static final 用来修饰属性:全局常量
------------总结:由父及子,静态先行-----------------------------
注意:本文知识点总结于尚硅谷的开放性学习视频和代码内容,如有不当之处,请联系我!