public——对所有类可见,任何人都可以使用;
private——仅对本类可见,除类型创建者和类型的内部方法外,其他人不得使用;
protected——对本包和所有子类可见(与private相当,差别是继承的类可以访问protected成员,而不能访问private成员)(继承的类即子类)。
默认访问权限 default——对本包可见,可以访问同一个包中的其他类的成员,而不能访问其他包的成员。
权限:指代作用范围
public < protected < default < private
在Java当中提供了四种权限修饰符,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限
类的修饰符只有 public , abstract,final 关键字所修饰。
修饰符 | 同一个类 | 同一个包中 | 子类 | 所有类 |
---|---|---|---|---|
private | √ | |||
default | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
编写代码建议使用:
成员变量:建议使用 private ,隐藏细节
构造方法: 建议使用 public ,便于调用
成员方法: 建议使用 public ,便于调用
注意事项:(default)并不是关键字,可以默认不写.
一个类文件里只能有一个public修饰的类,但可以包含其他类,而且.java源文件的名称也是这个被public修饰的类名,但是一个类的内部可以用public修饰符,充当成员信息