用&声明一个外部类没有公共关键字

时间:2018-04-04 22:56:16

标签: java oop

在java中使用和不使用public关键字声明外部类之间的区别是什么?我知道外部类不能是私有的,所以当我们不使用public关键字时,IDE或java编译器是否默认知道这必须是公共类?

public class Main {
   // program code
}

class Main {
   // program code
}

3 个答案:

答案 0 :(得分:1)

声明没有任何指定关键字的

类被识别为package-private,表示该类只能在包内使用。

答案 1 :(得分:0)

外部类只能声明为public或package private,以实现可用性。私有外部类不会非常有用。 More about nested classes

答案 2 :(得分:0)

  

说明使用和不使用外部类之间的区别   公共关键字

如果指定public则为公共类,如果省略则为package-private类。

  

所以当我们不使用public关键字时,是IDE还是java编译器   默认情况下知道这必须是公共类吗?

没有指定访问修饰符的类(如class Main { })是包私有类 我不明白为什么任何IDE都不会遵守这种语言规范来用public访问修饰符替换这个修饰符。