文章目录
- 1. 为什么要有继承?
- 2. 案例理解
- 3. 继承的作用
- 4. 总结
1. 为什么要有继承?
问题:为什么要有继承?
答:多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。
注
:此处的多个类称为子类,单独的这个类称为父类(基类或超类)。可以理解为 :“ 子类 是一个 父类”
类继承语法规则 :
class Subclass extends Superclass{ }
其中,Subclass为子类名称,Superclass为父类名称
2. 案例理解
定义一个Person类,来描述和处理个人信息
代码如下:
package day07;
public class Person {
int age;
String name;
int sex;
public void showInfo() {
System.out.println(this.age);
System.out.println(this.name);
System.out.println(this.sex);
}
}
定义一个Student类,来描述和处理学生信息:
代码如下:
package day07;
public class Student extends Person {//采用继承,继承父类Person
String school; //这里只需要定义school变量,因为name、age在父类Person中已经定义过了
public void showInfo() {
System.out.println(this.name);
System.out.println(this.age);
System.out.println(this.sex);
System.out.println(this.school);
}
}
可视化理解:
把共性的东西抽取出来形成父类,实际需求的子类在继承父类的基础上写自己特有的代码即可。
3. 继承的作用
(1)继承的出现提高了代码的复用性。
(2)继承的出现让类与类之间产生了关系,提供了多态的前提。
需要注意的一点:
不要仅为了获取其他类中某个功能而去继承
如:
人类{
姓名;
性别;
年龄;
}
狗类{
姓名;
性别;
年龄;
品种;
}
从上面,可以发现:
狗类和人类有重复的属性,但是狗不能继承人这个类,不能为了使用人类的相近属性而继承,因为狗和人不是一个物种。
如果想做一个狗的父类应该怎么办?
需要写一个动物类作为父类,然后狗继承动物类
注
:继承是有逻辑关系在里面的,不要随意继承
4. 总结
(1)子类继承了父类,就继承了父类的方法和属性。
(2)在子类中,可以使用父类中定义的方法和属性,也可以创建新的属性和方法。
(3)在 Java 中,继承的关键字用的是“extends” ,即子类不是父类的子集,而是对父类的“扩展”。
关于继承的规则:
子类不能直接访问父类的私有操作