Java中public,private,protected,和默认的区别

2025-02-02 23:27:45
推荐回答(2个)
回答1:

作用域    当前类  同包 子类 其他

public        √        √       √      √

protected  √        √       √      ×

默认           √       √       ×      ×

private       √        ×      ×      ×

类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。

Java中访问修饰符public、private、protecte、default的意义讲解:
public(接口访问权限): Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private(你无法访问): Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protected(继承访问权限): 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default(包访问权限):即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。 


回答2:

public全部类都可以访问
protected只有子类能访问
默认只有本包的类可以访问
private只有本类能访问