Java继承的概念与实现

迷南。 2022-05-23 10:49 212阅读 0赞

继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。

继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。

继承使用 extends 关键字。

例如我们已经定义了一个类 People:

复制纯文本新窗口

  1. class People{

  2. String name;

  3. int age;

  4. int height;

  5. voidsay(){

  6. System.out.println(“我的名字是 “+ name +“,年龄是 “+ age +“,身高是 “+ height);

  7. }

  8. }

如果现在需要定义一个类 Teacher,它也有 name、age、height 属性和 say() 方法,另外还需要增加 school、seniority、subject 属性和 lecturing() 方法,怎么办呢?我们要重新定义一个类吗?

完全没必要,可以先继承 People 类的成员,再增加自己的成员即可,例如:

  1. class Teacher extends People{

  2. String school;// 所在学校

  3. String subject;// 学科

  4. int seniority;// 教龄

  5. // 覆盖 People 类中的 say() 方法

  6. voidsay(){

  7. System.out.println(“我叫”+ name +“,在”+ school +“教”+ subject +“,有”+ seniority +“年教龄”);

  8. }

  9. voidlecturing(){

  10. System.out.println(“我已经”+ age +“岁了,依然站在讲台上讲课”);

  11. }

  12. }

对程序的说明

· name 和 age 变量虽然没有在 Teacher 中定义,但是已在 People 中定义,可以直接拿来用。

· Teacher 是 People 的子类,People 是Teacher 类的父类。

· 子类可以覆盖父类的方法。

· 子类可以继承父类除private以为的所有的成员。

· 构造方法不能被继承。

继承是在维护和可靠性方面的一个伟大进步。如果在 People 类中进行修改,那么 Teacher 类就会自动修改,而不需要程序员做任何工作,除了对它进行编译。

单继承性:Java 允许一个类仅能继承一个其它类,即一个类只能有一个父类,这个限制被称做单继承性。后面将会学到接口(interface)的概念,接口允许多继承。

最后对上面的代码进行整理:

  1. public**class** Demo {

  2. public**static**voidmain(String[] args){

  3. Teacher t =newTeacher();

  4. t.name =”小布”;

  5. t.age =70;

  6. t.school =”清华大学”;

  7. t.subject =”Java”;

  8. t.seniority =12;

  9. t.say();

  10. t.lecturing();

  11. }

  12. }

13.

  1. class People{

  2. String name;

  3. int age;

  4. int height;

  5. voidsay(){

  6. System.out.println(“我的名字是 “+ name +“,年龄是 “+ age +“,身高是 “+ height);

  7. }

  8. }

23.

  1. class Teacher extends People{

  2. String school;// 所在学校

  3. String subject;// 学科

  4. int seniority;// 教龄

  5. // 覆盖 People 类中的 say() 方法

  6. voidsay(){

  7. System.out.println(“我叫”+ name +“,在”+ school +“教”+ subject +“,有”+ seniority +“年教龄”);

  8. }

  9. voidlecturing(){

  10. System.out.println(“我已经”+ age +“岁了,依然站在讲台上讲课”);

  11. }

  12. }

运行结果:
我叫小布,在清华大学教Java,有12年教龄
我已经70岁了,依然站在讲台上讲课

参考资料:http://www.makeru.com.cn/

Java学习交流群:587131012

发表评论

表情:
评论列表 (有 0 条评论,212人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java接口实现继承疑惑

    在Java中,接口和类是两种不同的实体,它们各自有自己的行为规范。 1. 接口(Interface): - 不包含方法的声明,只有常量。 - 一个类可以实现多个接口。 - 实

    相关 继承基本概念

    (1)继承是面向对象的三大特征之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。 (2)继承是软件可重用的一种表现,新类可以在不增加自身代码的情况下

    相关 Java继承实现

    一、Java的继承与实现 继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。这种派生方式体现了传递性。 在Java中,除继承,还有一

    相关 继承概念(marksheng)

    ES5 有 6 种方式可以实现继承,分别为: \\1.原型链继承\\ 原型链继承的基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。 缺点: 1通

    相关 Java继承概念实现

    继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。 继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于