什么是继承关系:
从面向对象的角度上说:继承是一种从一般到特殊的关系,是一种“is a”的关系,即子类是对父类的拓展,是一种特殊的父类,比如:狗是动物的一种特殊情况,狗属于动物。
如何表示继承
在Java语言中,存在多个类的时候,我们使用extends
关键字来表示子类和父类之间的关系.
- 语法格式: 在定义子类的时候来表明自己需要拓展于哪一个父类.
public class 子类类名 extends 父类类名
{
//编写自己特有的状态和行为
}
- Object类是Java语言的根类(老祖宗,任何类都是Object的子类.)
class Person{} 等价于 class Person extends Object{}
Object类要么是一个类直接父类,要么是一个类间接父类. - 注意:
在Java中,类和类之间的继承关系只允许单继承,不允许多继承.
也就是说一个类A,只能有一个直接的父类,不能出现类A同时继承于
类B和类C. - 继承关系的作用:
1.解决了代码的重复问题.
2.真正的作用,表示出一个体系.
继承了什么
子类继承父类之后,子类到底继承了父类的哪些成员呢?
可以根据访问修饰符来判断:
- 父类中的成员使用public修饰,子类继承.
- 父类中的成员使用protected修饰,即使父类和子类不在同一个包中.子类也继承.
- 如果父类和子类在同一个包中,此时子类可有继承父类中缺省修饰符的成员.
- 父类中的成员使用private修饰,子类继承不到.因为private只能在本类中访问.
- 父类的构造器,子类也不能继承,因为构造器必须和当前的类名相同.