Java 中方法的默认作用域是什么?

如果我输入:

 void doThis(){
System.out.println("Hello Stackoverflow.");
}

doThis()的默认范围是什么?

公共场所? 保护区? 私人场所?

153137 次浏览

默认范围是“ default”。这很奇怪——更多信息参见 这些 参考文献

默认作用域为 package-private。同一个包中的所有类都可以访问方法/字段/类。Package-private 比 protected 和 public 作用域更严格,但比 private 作用域更宽松。

更多信息:
Http://docs.oracle.com/javase/tutorial/java/javaoo/accesscontrol.html
Http://mindprod.com/jgloss/scope.html

定义为包 private 的任何东西都可以被类本身、同一个包内的其他类访问,但不能在包外访问,也不能被子类访问。

有关访问级别修饰符的方便表,请参见 这一页..。

如果没有访问修饰符,类成员可以在声明它的整个包中访问。你可以从 Java 语言规范,6.6。中学到更多

无论是否显式声明,接口的成员始终是可公开访问的。

如果你没有给你的方法提供任何修饰符,那么作为默认,它将是默认的修饰符,其中包的范围。
想了解更多信息,你可以参考 < a href = “ http://wiki.answer ers.com/Q/What _ is _ default _ access _ specfier _ in _ Java”rel = “ nofollow”> http://wiki.answers.com/q/what_is_default_access_specifier_in_java

Java8现在允许在具有 违约作用域的接口本身内部实现方法(并且仅支持静态)。