-3

我知道在 JavaScript 中,您不需要public以下代码中的关键字:

class myClass
{
  public int myVariable;
  // it is the same as :
  int myVariable
}

你在 Java 中需要它吗?它的目的是什么?

4

3 回答 3

3

是的,如果您希望在任何地方都可以访问某些东西。

否则它是包可见性,这意味着只有同一个包中的东西(在某种程度上)可以访问它。

于 2013-11-14T15:15:57.077 回答
2

您不需要“public”关键字 - 如果您不指定 Class 变量的访问级别,它将被设置为 package-private。

更多细节在这里 - http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

于 2013-11-14T15:16:43.990 回答
0

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

然而,公共领域是一个坏主意(在多线程应用程序中是一个非常糟糕的主意)。它允许其他类在没有任何控制的情况下更改您的类的状态,并且可能会破坏不变量。正确的方法是通过公共 setter 方法控制状态变化。

于 2013-11-14T15:19:32.143 回答