<分区>
我正在学习 Java,有一些事情困扰着我,教科书没有解释。
我知道您使用修饰符在类和所有类中声明方法。但是我突然进入了一个声明为
static void(){
}
为什么没有 public 或 private 修饰符,它仍然有效?我可以避免在其他任何地方使用 public 修饰符吗?或者它是如何工作的?我知道 static 意味着类的成员并且 void 它不返回值。然而,为什么不公开或不公开呢。
<分区>
我正在学习 Java,有一些事情困扰着我,教科书没有解释。
我知道您使用修饰符在类和所有类中声明方法。但是我突然进入了一个声明为
static void(){
}
为什么没有 public 或 private 修饰符,它仍然有效?我可以避免在其他任何地方使用 public 修饰符吗?或者它是如何工作的?我知道 static 意味着类的成员并且 void 它不返回值。然而,为什么不公开或不公开呢。
最佳答案
为了便于解释,术语“函数”和“方法”可以互换使用。它们之间存在细微差别,有关更多信息,请询问 Google。
Java中没有显式指定修饰符的方法默认是package-private的,所以该方法对与该类在同一个package中的所有类可见声明方法的位置。
公共(public) 函数可由有权访问该类(即您的整个项目)的所有类调用,私有(private) 方法只能在编写该方法的类中调用.还有protected修饰符,指定函数只能被该类、其所有子类和在同一个包中的类访问。
“为什么这很重要?”,您可能会问。好问题!
你应该使用修饰符来隐藏其他类的方法/属性,这些类可能(滥用)使用它们或者在糟糕的情况下可能导致意外行为(不一定在技术上,但在语义上......一些方法只需要更多的隐私就像我们一样)。所以一个好的起点是private,这意味着只有声明它的类才能调用它。通常情况下,您需要授予其他类访问方法的权限,这就是为什么使用 package-private、protected 和 public 修饰符存在。
数据封装是编程中的一个重要范例,这些修饰符可以帮助您实现这一点。
关于java - 在 java 方法中省略 public 修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32447678/