对 Java 的修饰符有点困惑

A little confused about the modifiers of Java

我正在学习 Java 语言。对修饰符有点困惑。

有时我在 class 中看到没有修饰符的方法,例如:

public class example0{       
    void example1(){
        System.out.println();
    }
}

一般在设置可见性的方法中void前加publicprivate等修饰符

为什么有时像上面的例子一样,方法前面没有修饰符?

publicprivate 相比,这意味着什么?

这意味着该方法具有 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