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行分别设置变量的值和调用方法。

【运行效果】

大家好,我是有关继承的程序段

通过上述代码可以实现继承,并调用子类,但是父类和子类的对象是如何形成的呢?这就涉及构造器的使用,下一节会详细地介绍。