一、Java的四种访问修饰符
-
类之间的关系
类和类之间的关系有如下几种(以Hero为例):- 自身:指的是Hero自己
- 同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下
- 不同包子类:Support这个类是Hero的子类,但是在另一个包下
- 同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
- 其他类:Item这个类,在不同包,也没有继承关系的类
-
成员变量有四种修饰符(红色字体,表示不可行)
- private 私有的
- package/friendly/default 不写(没有修饰符)
- protected 受保护的
- public 公共的
- private 私有的
-
总结(红色字体,表示不可行)
-
那么什么情况该用什么修饰符呢?
那么什么情况该用什么修饰符呢?
从作用域来看,public能够使用所有的情况。 但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢?- 属性通常使用private封装起来
- 方法一般使用public用于被调用
- 会被子类继承的方法,通常使用protected
- package用的不多,一般新手会用package,因为还不知道有修饰符这个东西
- 再就是作用范围最小原则
- 简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了