本章导读
*****子类和父类
*****子类的继承
*****成员变量的隐藏和方法的重写
*****final类和final方法
*****对象的上转型对象
*****继承和多态
*****abstrack类和面向抽象编程
*****接口和接口回调
5.1*****子类和父类
继承是一种由已有的了类创建新类的机制。
class 子类名 extends 父类名{
、、、、、、、
}
5.2*****子类的继承
(1)继承的定义
子类的成员中有一部分是子类自己声明定义的,另一部分是从他的父类继承的。子类继承父类的成员变量作为自己的一个成员变量。
(2)子类和父类在同一包中的继承性
继承的成员变量以及方法的访问权限保持不变
(3)子类和父类不在同一个包中继承性
如果子类和父类不在同一个包中,那么子类继承了父类的protected、public成员变量作为子类的成员变量,并且继承了父类的protected、public方法,继承的成员变量或方法的访问权限保持不变,但子类不能继承父类的友好变量和有好方法
5.4*****成员变量的隐藏和方法的重写
1.成员变量的隐藏
子类可以隐藏继承的成员变量
2。方法重写
子类可以隐藏已经继承的方法,子类通过方法重写来隐藏继承的方法。子类重写是指:子类中定义一个方法,并且这个方法的名字、返回类型、参数的个数和类型与从父类继承的方法完全相同。子类通过方法的重写可以隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。
注意:
(1).方法重写时一定要保证方法的名字、类型、参数个数和类型同父类的某个方法完全相同,只有这样,子类继承的这个方法才能被隐藏。
(2).重写父类的方法时,不可以降低方法的访问权限
5.5*****final类和final方法
final类不能被继承,即不能有子类,如:
final class A{
、、、、、、、、
}
A就是一个final类。如果一个方法被修饰为final方法,则这个方法不能被重写,即不允许子类重写隐藏继承的final方法,final方法的行为不允许子类篡改。
5.6*****对象的上转型对象
A a;
a=new B();
上转型对象有如希望特点:
(1)上转型对象不能操作子类 声明定义的成员变量,不能使用子类声明定义的方法
(2)上转型对象可以代替子类对象去调用子类重写的实例方法
(3)上转型对象可以调用子类继承的成员变量和隐藏的成员变量
5.7*****继承和多态
与继承有关的多态性是指父类的某个实例方法被其子类重写时,可以各自产生自己的功能行为,指同一个操作被不同的类型对象调用时产生不同的行为。
5.8*****abstrack类和面向抽象编程
abstract class A{
、、、、、、、
}
5.9*****接口和接口回调
定义:interface 类名{
接口体
}
使用:
implements