第六章 继承和多态
6-1 类的继承
类间的关系:
。HAS-A关系:类间的包含关系,即类A的对象作为类B的成员变量
。IS-A关系:继承关系,概括和特化的关系即类B继承类A的属性和行为
派生类是父类的特殊化,是对父类在功能,内涵方面的扩展和延伸;在多继承时,派生类是父类的组合
子类可以在本类中修改父类的状态或重载父类的行为
也可以添加新的状态和行为
类的层次结构:一个父类可以是另一个父类的派生类(子类)
通常子类的成员数目比父类多
Java只允许单继承,通过接口可以实现多继承
java.lang.Object是祖先祖先类
类继承并不改变成员的访问权限
父类中的私有成员在子类中不可使用
先调用父类构造方法将从父类继承来的常用方法初始化,再调用子类的构造方法初始化子类自己定义的成员
类继承的实现:
[修饰符] class 类名 extends 父类名{类体。。。}
类体:即子类自定义的新成员
若一个类没有显示继承其他类,则默认继承Object类
需先定义父类,在定义子类
e.g://D.java
class A
{int x=2;
void f(){System.out.println(x);}
}
class B extends A{}
public class D
{public static void main(String args[])
{A a=new A();//a.x=2
a.f();//2
B b=new B();b.x=2
b.x=3;
b.f();//3
}
}