一、类中定义接口
package com.dao.util;
public class Util {
public interface Worker {
void work();
}
}
package com.dao.util;
import com.dao.util.Util.Worker;
public class Demo implements Worker {
public void work() {
System.out.println("Is working");
}
}
在这个util类里面封装了会改变的Worker,也就是说,util类里面有自己的算法:一部分是固定,另外一部分是可变的,而这个可变的部分就变成了一个接口(接口是特殊的抽象类~其实的意思大概的这个worker可能在不同的工作环境有不同的工作方式,例如work(),onvaction())
所以在类里面放一个接口不是什么新的设计,而是一种思想方式,让代码扩展性更高
二、java内部类使用
解析:原来我写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以在不做其他变动的情况下,最简单的解决办法是将public class改为public static class.