为什么接口不能声明为静态接口?
发布于 2010-03-21 17:29:41
把界面想象成一张蓝图。没有什么具体的东西。如果一个类遵循(继承)这个接口,那么它只是一个类必须实现的蓝图。
Java (iirc)本身没有“静态”类的概念,也就是说,“静态”不像在C#中那样是类声明中的关键字。相反,静态类是只由静态成员和方法组成的类。
正如您可能知道的,静态成员和静态方法属于类,而不是实例。
由于接口只是一个蓝图,而不是具体的,所以“静态”接口是没有意义的。
需要注意的一点是内部类。
在类声明中,您可以定义一个静态接口,但我假设它不做任何事情。
发布于 2010-03-21 17:25:02
首先,因为它没有任何意义。静态接口与非静态接口有何不同?
其次,他们可以:
public class SomeClass {
static interface StaticInterface {
}
}发布于 2010-03-21 17:31:08
如果您指的是接口本身:因为没有任何有用的东西可以用static interface表示
如果您指的是接口方法:因为在Java中,静态方法是类的属性,不能被覆盖或以多态方式调用。
https://stackoverflow.com/questions/2486512
复制相似问题