在Java中对于字段和方法共有4中访问限定符
分别是—— private、default、protected、public
private
private,在类的内部能访问,类的外部不能访问
例如:
当用private修饰属性或方法后,就只能在本类中使用。
default
默认,也叫包访问权限:类的内部能访问,同一个包中的类可以访问,其他类不能访问。
例如:
当什么都不加的时候,就是默认权限,它可以在同一类中实现,也可以在同一包下的类中实现。
protected
protected:(也叫受保护的),在类的内部能访问,同一个包中的类可以访问,不同包中的子类可以访问
也就是说,添加protected关键字后,就只能在类的内部能访问,同一个包中的类可以访问,不同包中的子类可以访问,其余地方就访问不了
public
public:公开的,类内部和类的调用者都能访问
是公开的
总结
NO | 范围 | private | default | protected | public |
---|---|---|---|---|---|
1 | 同一包中的同一类 | √ | √ | √ | √ |
2 | 同一包中的不同类 | √ | √ | √ | |
3 | 不同一包中的子类 | √ | √ | ||
4 | 不同一包中的子类 | √ |
我们要根据我们需要的情况,来设置访问权限,不要一味的public,也不能简单粗暴的private。要清楚类和属性、方法是给谁用,来设置不一样的访问限定符关键字。
注意:
1、在同一类下,只能有一个public类,其余的都不加
2、修饰类的关键字,只能是public和default(什么都不加)