public class TestInnerClass {
public static void main(String[] args) {
//1 原始方式
Work w1 = new Student();
w1.doWork();
//2 匿名类的对象方式
Work w2 = new Work() {
@Override
public void doWork() {
System.out.println("授课");
}
};
w2.doWork();
//3 匿名类的匿名对象
new Work() {
@Override
public void doWork() {
System.out.println("上班工作");
}
}.doWork();
//4 局部内部类
Work w4 = show();
w4.doWork();
//5 局部内部类
Work w5 = show();
w5.doWork();
}
//局部内部类方式
// public static void show() {
// class Employee implements Work{
// @Override
// public void doWork() {
// System.out.println("朝九晚五");
// }
// }
// new Employee().doWork();
// }
public static Work show() {
//1 局部内部类
// class Employee implements Work{
// @Override
// public void doWork() {
// System.out.println("朝九晚五");
// }
// }
// return new Employee();
//2 局部内部类的定义
return new Work() {
public void doWork() {
System.out.println("朝九晚五");
}
};
}
}
//接口
interface Work{
void doWork();
}
class Student implements Work{
@Override
public void doWork() {
System.out.println("学习");
}
}