Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在内部类中创建接口时出现编译器错误_Java - Fatal编程技术网

Java 在内部类中创建接口时出现编译器错误

Java 在内部类中创建接口时出现编译器错误,java,Java,我想在内部类中声明一个接口,它显示编译器错误消息“内部类不能有静态声明” 这是否意味着Java中的接口实际上是静态的 我正在使用Java1.7。谢谢 一个接口总是静态的——从某种意义上说,它不能依赖于另一个实例 有两个级别的内部声明是很少见的,但如果是有意的,我希望至少InnerApple是静态的: public class Apple { public static class InnerApple{ public interface InnerInterface{

我想在内部类中声明一个接口,它显示编译器错误消息“内部类不能有静态声明”

这是否意味着Java中的接口实际上是静态的


我正在使用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)

为了使它不是静态的,接口必须是顶级的,没有封闭类或接口