mat*_*_io 5 java methods class subroutine
我正在学习 Java,有一些事情困扰着我,教科书没有解释它。
我知道您使用修饰符来声明类和所有内部的方法。但我突然上了一堂课,宣布像
static void(){
}
Run Code Online (Sandbox Code Playgroud)
为什么没有 public 或 private 修饰符,它仍然有效?我可以避免在其他地方使用 public 修饰符吗,或者它是如何工作的?我知道静态意味着该类的成员,而它不返回值则表示无效。然而,为什么不是公共或私人的。
为了解释的目的,术语“函数”和“方法”可以互换使用。它们之间存在细微差别,有关更多信息,请询问 Google。
Java 中未显式指定修饰符的方法默认为package-private,因此该方法对于声明该方法的类所在的同一包中的所有类都是可见的。
公共函数可由有权访问该类的所有类(即您的整个项目)调用,而私有方法只能在编写该方法的类中调用。还有protected修饰符,它指定只能访问该函数由类、其所有子类和类组成在同一个包中。
“为什么这很重要?” ,你可能会问。好问题!
您应该使用修饰符来隐藏其他类的方法/属性,这些类可能会(滥用)使用它们,或者在糟糕的情况下可能会导致意外的行为(不一定是技术上的,而是语义上的......有些方法只需要更多的隐私,就像我们一样做)。因此,一个好的起点是private,这意味着只有声明它的类才能调用它。通常,您需要授予其他类对方法的访问权限,这就是存在package-private、protected和public修饰符的原因。
数据封装是编程中的一个重要范例,这些修饰符可以帮助您实现这一目标。
| 归档时间: |
|
| 查看次数: |
8578 次 |
| 最近记录: |