一、继承的概念:
在程序设计中,继承的实体是类,也就是说子类拥有父类的成员。
二、子类设计
在类的声明中,可以通过使用关键字extends来显示地指明其父类。
1.语法格式
[修饰符]class 子类名 extends 父类名
(1)修饰符:可选,用于指定类地访问权限,可选值为public,abstract和final。
class子类名:必选,用于指定子类地名称,类名必须是Java标识符。
extends 父类名:必选用于指定要定义地子类继承于那个父类。
例如:定义一个Cattle类,该类继承于父类Animal,即Cattle类是Animal类地子类:
abstract class Cattle extends Animal{
//类体代码省略
}
三、继承使用规则
1.子类能够继承父类中被声明为public和protected的成员变量和成员方法,但不能继承被声明为private的成员变量和成员方法。
2.子类能够继承在同一个包中的自由默认修饰符修饰的成员变量和成员方法。
3.如果子类声明了一个与父类的成员变量同名的成员变量,则子类不能继承父类的成员变量,此时称子类成员变量隐藏了父类的成员变量。
4.如果子类声明了一个与父类的成员方法同名的成员方法,则子类不能继承父类的成员方法,此时称子类成员方法覆盖了父类的成员方法。
例如:定义一个动物类Animal及它的子类Bird。
(1)创建一个名称为Animal的类,在该类中声明一个成员变量live和两个成员方法,分别为eat()和move()代码具体如下;