天天看点

Java在类中定义接口

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内部类使用

Java在类中定义接口

解析:原来我写的内部类是动态的,也就是开头以public class开头。而主程序是public static class main。在Java中,类中的静态方法不能直接调用动态方法。只有将某个内部类修饰为静态类,然后才能够在静态类中调用该类的成员变量与成员方法。所以在不做其他变动的情况下,最简单的解决办法是将public class改为public static class.