先定义一个Person类,包含了学生和老师的共性
package ysy;
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;
}
}
再定义老师和学生中的特定属性,用alt+fn+insert快捷生成,全选可自动生成无参和带参的方法
package ysy;
public class Teacher extends Person{
public Teacher(){};//无参构造方法
public Teacher(String name,int age){
super(name, age);//引用父类中的构造方法
}
public void teach(){
System.out.println("教书");
}
}
package ysy;
public class Student extends Person{
public Student() {
}
public Student(String name, int age) {
super(name, age);
}
public void study(){
System.out.println("学习");
}
}
最后写一个测试类(main函数)
package ysy;
public class PersonDemo {
public static void main(String[] args) {
Teacher t=new Teacher();//无参构造方法
t.setName("小鱼");
t.setAge(20);
System.out.println(t.getName()+","+t.getAge());
t.teach();//调用方法
Teacher t1=new Teacher("小小鱼",23);//带参构造方法
System.out.println(t1.getName()+","+t1.getAge());
t1.teach();//调用方法
}
}
结果如下所示: