首页 > 代码库 > J2SE基础:5.面向对象的特性2

J2SE基础:5.面向对象的特性2

Final的使用



final在类之前
表示该类是终于类。表示该类不能再被继承。

final在方法之前
表示该方法是终于方法,该方法不能被不论什么派生的子类覆盖。

final在变量之前
表示变量的值在初始化之后就不能再改变;相当于定义了一个常量。




对象的上溯(上转型)和对象的下溯



上转型对象的特点:
A a = new B();
实例化是B,仅仅只是是A去接收而已。

所以仅仅能看到A中定义的属性与方法。
A:不能操作子类新增的成员变量和方法;

B:能够操作子类继承的变量,也可操作子类继承或重写的方法;

假设子类重写了父类的某个方法后,当对象的上转型对象调用这种方法时一定是调用了这个子类重写的方法。



使用上转型对象的优缺点:

缺点:不能操作子类新增的成员变量和方法

长处:
A:上转型对象是实现对象多态的前提条件。



B:以牺牲少部分的功能来换代替码设计的最大幅度的优化。


类型的下溯:

假设此时上转型对象想要操作子类新增的方法和属性。能够进行

对象类型的下溯。

下溯成功后,就能够看到自已新增的属性与方法。





类型的上/下溯的注意点:


操作的对象都是针对子类进行上/下的转换。



操作的上/下转型对象之间必需要有继承关系。





重载


当有參数精确匹配时,调用的是精确匹配的方法。



假设没有,寻找參数相应的父类类型。(Object,String,StringBuffer)





重写/上转型对象:一旦用上转型对象的话,方法被子类重写,肯定调用的是

     子类重写的方法。



     

多态


1:什么是多态:

多态就是指父类的某个方法被子类重写时,

能够各自产生自己的功能行为。



2:多态的条件

A:要有继承关系



B:子类必须对父类的方法进行重写



C:父类的引用要指向子类(对象的上转型)。


3:多态的中的父类的引用要指向子类造成了多态的后期绑定。



前期绑定与后期绑定:


前期绑定:编译期间就已经确定其类型。



后期绑定:在执行期间才确定对象类型。

J2SE基础:5.面向对象的特性2