Java 在内部类中创建接口时出现编译器错误
我想在内部类中声明一个接口,它显示编译器错误消息“内部类不能有静态声明” 这是否意味着Java中的接口实际上是静态的Java 在内部类中创建接口时出现编译器错误,java,Java,我想在内部类中声明一个接口,它显示编译器错误消息“内部类不能有静态声明” 这是否意味着Java中的接口实际上是静态的 我正在使用Java1.7。谢谢 一个接口总是静态的——从某种意义上说,它不能依赖于另一个实例 有两个级别的内部声明是很少见的,但如果是有意的,我希望至少InnerApple是静态的: public class Apple { public static class InnerApple{ public interface InnerInterface{
我正在使用Java1.7。谢谢 一个接口总是静态的——从某种意义上说,它不能依赖于另一个实例 有两个级别的内部声明是很少见的,但如果是有意的,我希望至少
InnerApple
是静态的:
public class Apple {
public static class InnerApple{
public interface InnerInterface{
//this does not cause an error
}
}
}
在大多数情况下,内部类的关键字static被省略。如果是这样的话,这个类可能包含对周围实例的依赖关系(而不仅仅像静态内部类那样依赖于该类)。接口总是静态的——从某种意义上说,对另一个实例不存在任何依赖关系 有两个级别的内部声明是很少见的,但如果是有意的,我希望至少
InnerApple
是静态的:
public class Apple {
public static class InnerApple{
public interface InnerInterface{
//this does not cause an error
}
}
}
在大多数情况下,内部类的关键字static被省略。如果是这样的话,这个类可能包含对周围实例的依赖关系(而不仅仅像静态内部类那样依赖于该类)。是的,成员接口是隐式的
静态的。国家:
成员接口是隐式静态的(§9.1.1)
要使其不是静态的,接口必须是顶级的,没有封闭的类或接口。是的,成员接口隐式地是静态的。国家:
成员接口是隐式静态的(§9.1.1)
为了使它不是静态的,接口必须是顶级的,没有封闭类或接口