一、为什么需要继承
我们编写了两个类,一个是Pupil类,一个是Graduate类
问题:两个类的属性和方法有很多是相同的,怎么办?
Pupil类:
package com.javase.extend_;
public class Pupil {
public String name;
public int age;
private double score;
public void setScore(double score) {
this.score = score;
}
//考试
public void testing() {
System.out.println("小学生" + name + "正在考小学数学");
}
//输出学生信息
public void showInfo() {
System.out.println("学生姓名" + name + " 年龄 " + age + " 成绩 " + score);
}
}
Graduate类:
package com.javase.extend_;
public class Graduate {
public String name;
public int age;
private double score;
public void setScore(double score) {
this.score = score;
}
//考试
public void testing() {
System.out.println("大学生" + name + "正在考大学数学");
}
//输出学生信息
public void showInfo() {
System.out.println("学生姓名" + name + " 年龄 " + age + " 成绩 " + score);
}
}
两个类的代码中属性以及功能都是重复的,代码复用性低。
二、什么是继承
基本介绍:
继承可以解决代码复用,当多个类存在相同的属性和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。
基本语法:
class 子类 extends 父类 {
}
1、子类会自动拥有父类定义的属性和方法
2、父类又称超类或基类
3、子类又称派生类
示意图:
使用继承解决代码复用问题:
Student父类
package com.javase.extend_.improve;
//父类 Pupil和Graduate的分类
public class Student {
//共有的属性
public String name;
public int age;
private double score;
//共有的方法
public void setScore(double score) {
this.score = score;
}
//输出学生信息