对 Java 的修饰符有点困惑
A little confused about the modifiers of Java
我正在学习 Java 语言。对修饰符有点困惑。
有时我在 class 中看到没有修饰符的方法,例如:
public class example0{
void example1(){
System.out.println();
}
}
一般在设置可见性的方法中void
前加public
或private
等修饰符
为什么有时像上面的例子一样,方法前面没有修饰符?
与 public
或 private
相比,这意味着什么?
这意味着该方法具有 default
访问权限,这意味着它只能在嵌套 class 所在的包内访问。
这意味着您有一个 default
修饰符,并且 class 和包都可以访问它。这是一个 Table,其中包含对 link 的描述:Click。
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
protected | y | y | y | n
————————————+———————+—————————+——————————+———————
no modifier | y | y | n | n **also known as package-private**
————————————+———————+—————————+——————————+———————
private | y | n | n | n
y: accessible
n: not accessible
我正在学习 Java 语言。对修饰符有点困惑。
有时我在 class 中看到没有修饰符的方法,例如:
public class example0{
void example1(){
System.out.println();
}
}
一般在设置可见性的方法中void
前加public
或private
等修饰符
为什么有时像上面的例子一样,方法前面没有修饰符?
与 public
或 private
相比,这意味着什么?
这意味着该方法具有 default
访问权限,这意味着它只能在嵌套 class 所在的包内访问。
这意味着您有一个 default
修饰符,并且 class 和包都可以访问它。这是一个 Table,其中包含对 link 的描述:Click。
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | y | y | y | y
————————————+———————+—————————+——————————+———————
protected | y | y | y | n
————————————+———————+—————————+——————————+———————
no modifier | y | y | n | n **also known as package-private**
————————————+———————+—————————+——————————+———————
private | y | n | n | n
y: accessible
n: not accessible