9.2 如何实现继承
如何知道一个类是继承了父类的子类呢?在Java语言中,继承通过关键字“extends”来实现。用extends标明当前类是子类,并标明其是从哪个类继承而来。“extends”在英语中就是扩展的意思,而在Java语言中,继承也有扩展的含义。这样将两者联系在一起,就很容易理解了。
现在将上面的代码修改一下,就可以清楚地看到父类和子类的继承关系:
汽车类
{
汽车有四个轮子属性
引擎属性
方向盘属性
如何驾驶它()—————-方法函数
如何保养它()—————-方法函数
}
宝马厂家的敞篷跑车extends汽车类
{
如何打开敞篷————方法函数
}
这样是否更清楚了?下面举个实例来具体分析继承的意义。
01 class Person
02 {
03 int age;———————————————年龄属性
04 int height;—————————————-身高属性
05 void eat(){};————————————吃的方法函数
06 void sleep(){};———————————睡觉的方法函数
07 }
08 class Student
09 {
10 int age;———————————————年龄属性
11 int height;—————————————-身高属性
12 void eat(){};————————————吃的方法函数
13 void sleep(){};———————————睡觉的方法函数
14 int score;——————————————学生分数属性
15 void study(){};———————————学生学习的方法函数
16 }
从以上的代码段可以看出,“Person”类和“Student”类有很多参数相同。可以说,“Student”类包含了“Person”类所有的参数,这种情况,就需要使用继承。上面的代码可以修改为:
01 class Person
02 {
03 int age;
04 int height;
05 void eat(){};
06 void sleep(){};
07 }
08 class Student extends Person
09 {
10 int score;
11 void study(){};
12 }
上面的代码使“Student”类继承了“Person”类,并拥有了“Person”类的所有成员。“Student”类虽然代码很少,但其包括了“Person”类的所有成员和方法。
【实例9.1】下面学习一段继承类的引用实例。
01 class inhert
02 {
03 int a;
04 void hi()
05 {
06 System.out.println("大家好,我是有关继承的程序段");
07 }
08 }
09 public class inhert1 extends inhert
10 {
11 public static void main(String[]args)
12 {
13 inhert ob=new inhert();
14 ob.a=10;
15 ob.hi();
16 }
17 }
【代码说明】第1~8行定义了类inhert,其具备一个变量a和一个方法hi()。第14行分别设置变量的值和调用方法。
【运行效果】
大家好,我是有关继承的程序段
通过上述代码可以实现继承,并调用子类,但是父类和子类的对象是如何形成的呢?这就涉及构造器的使用,下一节会详细地介绍。