💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] 继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。 继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。 继承使用 **extends** 关键字。 <br> ## **类的继承格式:** 在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下: ``` class 父类 { } class 子类 extends 父类 { } ``` :-: ![](https://img.kancloud.cn/45/68/45683e0d6b526d12ea2879487a645acd_582x300.png) <br> ## 为什么需要继承 例如我们已经定义了一个类 day05demo: ``` class day05demo{ String name; int age; String height; void soy(){ System.out.println("我叫:" + name + "年龄:" + "身高:"); } } ``` 如果现在需要定义一个类 day05demo,它也有 name、age、height 属性和 soy() 方法,另外还需要增加 school、seniority、subject 属性和 lecturing() 方法,怎么办呢?我们要重新定义一个类吗? 完全没必要,可以先继承 day05demo 类的成员,再增加自己的成员即可,例如: ``` class te extends day05demo{ double weight; double salary; String education; void soy(){ System.out.println("我叫:"+name + "身高:"+height + "体重:"+weigth + "薪资:"+ salary + "学历是:"+ education); } void test(){ System.out.println("我依然是一个有志青年"); } } ``` ## **对程序的说明** * name 和 age 变量虽然没有在 te 中定义,但是已在 day05demo 中定义,可以直接拿来用。 * te 是 day05demo 的子类,day05demo 是te 类的父类。 * 子类可以覆盖父类的方法。 * 子类可以继承父类除private以为的所有的成员。 * 构造方法不能被继承。 继承是在维护和可靠性方面的一个伟大进步。如果在 People 类中进行修改,那么 Teacher 类就会自动修改,而不需要程序员做任何工作,除了对它进行编译。 单继承性:Java 允许一个类仅能继承一个其它类,即一个类只能有一个父类,这个限制被称做单继承性。后面将会学到接口(interface)的概念,接口允许多继承。 <br> <br> ## **java继承图解:** :-: ![](https://img.kancloud.cn/af/ec/afecbe651800af318c7f07ddd56eae07_793x403.png)