一、含义
继承是子类(派生类)继承父类(基类)的属性和方法,就是说继承之后,子类有父类的属性和方法。举个简单的例子:员工和经理都是一个公司的雇员,他们之间存在着一些相同和不同的地方,相同:他们都能领到薪水,不同:经理能领取到额外的奖金。在这种情况下就可以用继承,让经理继承员工,因为需要为经理添加一些东西
//类的继承格式 class 子类 extends 父类{}
class Manager extends Employee{
//添加有别与Employee类中的方法和属性
}
二、为什么要使用继承
在含义中说到,子类能继承到父类的属性和方法。如果有多个事物都具有相同的属性或者方法,那么就给他建一个父类,在父类中写那一部分相同的代码,使得子类中的不用再重复写,使得代码简洁。
public class MidStudent{
private String name;
private String course;
public Student(String myName, String mycourse) {
name = myName;
course = mycourse;
}
public void study(){
System.out.println(name+"正在学习");
}
}
public void introduction() {
System.out.println("大家好!我是" + name + "正在学习"+course);
}
}
public class UnStudent{
private String name;
private String course;
public Student(String myName, String mycourse) {
name = myName;
course = mycourse;
}
public void study(){
System.out.println(name+"正在学习");
}
}
public void introduction() {
System.out.println("大家好!我是" + name + "正在学习"+course);
}
}
以上的两块代码都有重复的部分,将重复的部分提取出来组成一个公共的父类
public class Student{
private String name;
private String course;
public Student(String myName, int myid) {
name = myName;
id = myid;
}
public void study(){
System.out.println(name+"正在学习");
}
}
public void introduction() {
System.out.println("大家好!我是" + name + "正在学习"+course);
}
}
让MidStudent类和UnStudent类继承Student,
public class MidStudent extends Student {
public MidStudent (String myName, String mycourse) {
super(myName, mycourse); //super.成员变量/super.成员方法;用来在子类中调用父类的同名成员变量或者方法
}
}
public class UnStudent extends Student {
public UnStudent (String myName, String mycourse) {
super(myName, mycourse);
}
}
三、特点
1.子类能拥有父类非私有的属性和方法
2.子类自行扩展属性和方法,就是有别于父类的属相和方法
3.继承只能单继承,就是一个子类只能有一个父类