Java中private、public、default、protected的区别

private

私有的访问权限,也是最严格的访问权限,仅只能在设置了该权限的类中访问,利用这个访问权限,表现出封装思想。

default

默认的访问权限,也是可以省略的访问权限,它不仅能在设置了该权限的类中访问,也可以在同一包中的类或子类中访问。

protected

受保护的访问权限,它除了具有default的访问权限外,还可以在不同包中所继承的子类访问。

public

公有的访问权限,也是最宽松的访问权限,不仅可以是同一个类或子类,还是同一个包中的类或子类,又或是不同包中的类或子类,都可以访问。

小结:

如果一个成员需要被外部包所访问,则必须使用public修饰符;
如果一个成员需要被定义在不同包下的子类所访问,则可以使用public或protected修饰符;
如果一个成员需要被本包下的其他类所访问,则可以不用写任何的修饰符,使用public或者protected也行;
若一个成员想使用同类中其他成员,则使用任意一个修饰符即可;若一个成员不想被任何一个外部的类所访问,则使用private关键字比较恰当。

猜你喜欢

转载自blog.csdn.net/k_young1997/article/details/81109965