我想知道为什么接口不允许静态块,但它们允许声明静态变量。如果我想在某些逻辑上初始化静态变量怎么办。
编辑:早些时候我没有以更好的形式发布我的查询,但这是我的示例代码查询。请调查一下。
interface A {
static class XYZ {
public static void methodA() {
// some implementation
System.out.println("methodA");
}
public static void methodB() {
// some more implementation
System.out.println("methodB");
}
}
void methodC();
}
public class ABC implements A {
public static void main(String[] args) {
A.XYZ.methodA();
}
@Override
public void methodC() {
// TODO Auto-generated method stub
}
}
因为接口的目的是提供一种机制,接口的用户/实现者可以根据他们的需要实现属性(方法)。但是,如果我被允许在接口中添加实现,那么接口的目的是如何被打败的,请让我清楚为什么允许接口中的这种实现,一定有什么是为什么和事实是什么,这就是我想知道