为什么 Java 8 接口中不允许使用“私有静态”字段?
2022-09-03 12:23:10
当我尝试编译以下代码时
public interface SomeInterface{
private static Logger logger = Logger.getLogger();
public default void someMethod(){
logger.info("someMethod: default implementation");
}
}
我收到错误
Illegal modifier for the interface field SomeInterface.logger; only public, static & final are permitted
当我删除修饰符时,代码会编译,但我不希望包中的其他类看到此字段。private
为什么Java不允许我做这样的事情,而它确实有意义?