本文节选自我的另一篇文章,大家有兴趣可以看一看:Java总结六:面向对象编程(二)
继承可以解决代码复用,让我们的编程更加靠近人类思维.当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过 extends 来声明继承父类即可。
📚继承的基本语法
class 子类 extends 父类 {
}
其中:
📒子类就会自动拥有父类定义的属性和方法
📒父类又叫超类,基类。
📒子类又叫派生类。
📚继承快速入门案例
☕️Extends01类:
package com.hj.第八章面向对象编程.继承;
public class Extends01 {
public static void main(String[] args) {
Pupil pupil = new Pupil();
pupil.name = "银角大王~";
pupil.age = 11;
pupil.testing();
pupil.setScore(50);
pupil.showInfo();
System.out.println("=======");
Graduate graduate = new Graduate();
graduate.name = "金角大王~";
graduate.age = 23;
graduate.testing();
graduate.setScore(80);
graduate.showInfo();
}
}
☕️Student类:(父类,是 Pupil 和 Graduate 的父类)
package com.hj.第八章面向对象编程.继承;
//父类,是 Pupil 和 Graduate 的父类
public class Student {
//共有属性
public String name;
public int age;
private double score;//成绩
//共有的方法
public void setScore(double score) {
this.score = score;
}
public void showInfo() {
System.out.println("学生名 " + name + " 年龄 " + age + " 成绩 " + score);
}
}
☕️Pupil类:(Pupil 继承 Student 类)
package com.hj.第八章面向对象编程.继承;
//让 Pupil 继承 Student 类
public class Pupil extends Student {
public void testing() {
System.out.println("小学生 " + name + " 正在考小学数学..");
}
}
☕️Graduate类:(Graduate 继承 Student 类)
package com.hj.第八章面向对象编程.继承;
public class Graduate extends Student {
public void testing() {
//和 Pupil 不一样
System.out.println("大学生 " + name + " 正在考大学数学..");
}
}
输出结果:
小学生 银角大王~ 正在考小学数学..
学生名 银角大王~ 年龄 11 成绩 50.0
=======
大学生 金角大王~ 正在考大学数学.