public protected default private
外包 1 0 0 0
父子类 1 1 0 0
本包 1 1 1 0
本类 1 1 1 1
为什么外部类只能用public或者default修饰?
外部类的上一层就是包了,首先,private只能自己用,那这样这个类就无意思了,排除掉。protected不支持外包,那么就只能本包下使用,而default更符合这一条件且不需要打修饰符,所以排除掉,这样就剩下default和public符合条件了。
本文详细解释了Java中public、protected、default和private四种访问修饰符的使用范围,并通过表格形式直观展示了不同修饰符在外部类、父子类、同一包内及本类中的可见性差异。
public protected default private
外包 1 0 0 0
父子类 1 1 0 0
本包 1 1 1 0
本类 1 1 1 1
为什么外部类只能用public或者default修饰?
外部类的上一层就是包了,首先,private只能自己用,那这样这个类就无意思了,排除掉。protected不支持外包,那么就只能本包下使用,而default更符合这一条件且不需要打修饰符,所以排除掉,这样就剩下default和public符合条件了。

被折叠的 条评论
为什么被折叠?