java中的权限修饰符

时间:2021-11-16 21:06:58
  当前类 相同包下不同的类 不同包下的类
public 可用 可用 可用
private 可用    
default 可用 可用  
protected 可用 可用  

那么,default与protected有什么区别呢?

default是当前包下使用。

protected是让子类对象使用。

 

附录:

总结一下遇到的修饰符

修饰符 成员变量 成员方法 构造方法
public 可以修饰 可以修饰 可以修饰 可以修饰
private(private不能用来修饰类,假设它修饰类的话,那么这个类不能被任何类继承,没有存在的意义) NO 可以修饰 可以修饰 可以修饰
default 可以修饰 可以修饰 可以修饰 可以修饰
protected(protected主要是为子类对象服务的,所以不能修饰类,只能修饰成员。如果它能修饰类的话,那么子类就继承不了这个类了,还怎么为子类对象服务?) NO 可以修饰 可以修饰 可以修饰
abstract(没有抽象变量这个东西吧?构造方法是为了初始化成员变量,所以成员变量不能修饰,构造方法也没必要修饰) 可以修饰 NO 可以修饰 NO
static(static是方便我们直接用类名来调用成员变量与成员方法,所以不需要创建对象,也就是不需要构造方法) NO 可以修饰 可以修饰 NO
final(final修饰的类不能被继承,修饰的成员变量会变成常量,修饰的成员方法不能被重写) 可以修饰 可以修饰 可以修饰 NO

 

比较常用的规则:

1.用public类修饰类,一个java文件只有一个类(如果一个文件有多个类,与文件名同名的类名用public修饰,其他的用default修饰)

2.成员变量都使用private修饰,并写getter和setter方法。

3.方法都使用public修饰

4.构造方法都用public修饰(如果不想让创建对象,可以用private修饰)