自定义一个父类.Teacher,老师类 老师关,包含姓名属性,授课的方法。
自定义不同子类:例如:Java 老师,继承 Teacher,重写授课的方法。
Music 老师,继承 Teacher,重写授课的方法。
PE体育老师,继承Teacher 类,重写授课的方法。
创建一个班级,班级里有一个上课的方法,参数是Teache 类引用。
创建测试类,测试不同的老师来班级上课过程。
package com.etc.day02.lianxi2;
public class Teacher {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void teach(){
}
}
package com.etc.day02.lianxi2;
public class JavaTeacher extends Teacher{
@Override
public void teach() {
setName("java");
System.out.println(getName() +"老师在用电脑上课");
}
}
package com.etc.day02.lianxi2;
public class MusicTeacher extends Teacher{
@Override
public void teach() {
setName("音乐");
System.out.println(getName() +"老师在用钢琴上课");
}
}
package com.etc.day02.lianxi2;
public class PeTeacher extends Teacher{
@Override
public void teach() {
setName("体育");
System.out.println(getName() +"老师在用篮球上课");
}
}
package com.etc.day02.lianxi2;
public class Classes {
public void goToClass(Teacher teacher){
teacher.teach();
}
}
package com.etc.day02.lianxi2;
public class Test1 {
public static void main(String[] args) {
Classes classes = new Classes();
JavaTeacher javaTeacher = new JavaTeacher();
MusicTeacher musicTeacher = new MusicTeacher();
PeTeacher peTeacher = new PeTeacher();
classes.goToClass(javaTeacher);
classes.goToClass(musicTeacher);
classes.goToClass(peTeacher);
}
}