子类定义:
子类定义实际上就是定义类的过程,只不过在父类的基础上定义,所以定义子类是需要指明父类。子类的定义形式是:
class 子类名 extends 父类名
{
//子类类体
}
用关键字extends说明父类(子类对父类的扩展)。子类类体中增加了子类中有,父类中无的域和方法,因为与父类不完全相同,增加新成员可以表现出子类相对于父类的特殊之处。
java语言只支持单重继承,也就是一个类最多只能有一个父类,而且除了Object类之外每个类都有一个父类。java基础类中有一个类Object,它是所有类的直接父类或间接父类。如果在定义一个类时没有说明该类继承自哪一个类,则该类的父类是Object。
子类成员的可访问性
- 子类不能缩小父类方法的访问权限
- 子类继承自父类的成员,其访问权限在子类中与父类中相同
- 父类的私有成员可以被子类继承,但在子类中不能被子类的方法访问,在子类类体外也不能通过子类对象访问,只能通过继承自父类的并且子类可以访问的方法间接访问
- 父类的公有成员可以被子类中的方法直接访问, 在子类类体外可以通过子类对象访问
- 父类与子类在一个包中,则父类中的保护成员,友好成员可以被子类的方法直接访问,在子类类体外可以通过子类对象访问。
- 父类与子类不在一个包中,则父类中的保护成员,友好成员可以被子类的方法直接访问,在子类类体外不可以通过子类对象访问。