一、接口静态方法?
JDK1.8开始,接口中也可以定义静态方法,这使得我们的编程更加的灵活。二、代码示例
代码如下:
public interface DemoService {
//定义一些接口,等等吧
Object deal(String key);
void deal2(Object obj);
static DemoService getInstance() {
return DemoService.Impl.get();
}
/**
* 接口中用内部类实现接口
* 采用单例模式保证每次获取的都是同一对象
*/
class Impl {
public static DemoService get() {
return DemoServiceImpl.INSTANCE;
}
private static class DemoServiceImpl implements DemoService {
private static DemoService INSTANCE = new DemoServiceImpl();
@Override
public Object deal(String key) {
System.out.println("业务处理1:" + key);
return null;
}
@Override
public void deal2(Object obj) {
System.out.println("业务处理2");
}
}
}
/**
* 调用 接口名.静态方法
* @param args
*/
public static void main(String[] args) {
DemoService.getInstance().deal("111");
}
}
三、总结
在接口中定义静态方法,可以很灵活的为接口写一些公用的方法。示例代码是在接口中写了自己的实现类。以后也可以很灵活的写N多的实现类去实现这个接口。另外接口静态方法不可以被接口实现类重写。使用的时候直接接口名.静态方法名即可。