在前面很多的示例中,我们都见到了public关键字,其实还有protectedprivate,它们都是对类、类成员变量或者方法的权限修饰符,具体作用如下表:

    权限修饰符\作用域 当前类 同包 子类 不同包
    public
    - [x]

    |
    - [x]

    |
    - [x]

    |
    - [x]

    | | protected |
    - [x]

    |
    - [x]

    |
    - [x]

    |
    - [x]

    | | 默认(无修饰符) |
    - [x]

    |
    - [x]

    |
    - [ ]

    |
    - [ ]

    | | private |
    - [x]

    |
    - [ ]

    |
    - [ ]

    |
    - [ ]

    |

    此外,权限修饰符还需要记住以下几点:

    • 如果在同一文件中定义了 2 个类,这两个类之间互相引用的情况,可以视为这两个类看作是 2 个类文件
    • class只能被public所修饰,或者默认没有
    • 权限修饰符对于成员变量和成员方法的修饰效果与上表是一致的