实例背景:输出每个Doctor博士每天做的事情
1、白天大家都是“白天传授理论知识”;
2、晚上每个人都是不一样的
先写一个接口
package anonymousinner;
public interface Qinshou {
public void workInNight();
}
实现接口
package anonymousinner;
public abstract class Doctor implements Qinshou {
@Override
public void workInNight() { }
//多态,情况不定
public void workInDay(){
System.out.println("白天传授理论知识");
}
}
第一个医生继承
package anonymousinner;
public class Doctor1 extends Doctor {
@Override
public void workInNight(){
System.out.println("晚上教弹琴");
}
}
第二个以医生使用匿名内部类
package anonymousinner;
public class Test {
public static void main(String[] args) {
//调用父类方法,和自己的方法
Doctor1 d1 = new Doctor1();
d1.workInDay();//父类白天
d1.workInNight();//自己晚上
//语法格式
//1、new 抽象类或者接口
//2、后加大括号
//3、实现未实现方法
Doctor d2 = new Doctor(){
//匿名内部类
//重写方法
@Override
public void workInNight() {
System.out.println("睡觉");
}
};
d3.workInDay();
d3.workInNight();
}
}