继承的思想
继承是面向对象编程的一个核心特性,它允许一个新类(称为子类或派生类)从已存在的一个类(称为父类或超类)直接获取属性和方法。通过继承,子类可以复用父类的代码,避免了重复编写相似功能,同时也能够扩展和修改父类的行为。
在继承结构中,子类自动拥有父类的所有非私有成员,包括字段(变量)和方法。这意味着子类可以直接使用这些已有功能,并且可以根据需要覆盖(重写)父类的方法来提供特定于子类的实现。此外,子类还可以添加新的成员或扩展原有的功能,从而增加其灵活性和适应性。
思路
- 老师和学生类中的成员变量有相同的地方
- 写一个Person类写相同的部分
- 写老师类和学生类继承Person
代码实现
Person类
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Teacher
public class Teacher extends Person {
public Teacher() {
}
public void teach() {
System.out.println("教书");
}
public Teacher(String name, int age) {
//报错 person类中的成员变量为私有变量
//this.name=name;
//this.age=age;
super(name, age);
}
}
Student类
public class Student extends Person {
public Student() {
}
public Student(String name, int age) {
super(name, age);
}
public void Stud() {
System.out.println("学习");
}
}