2 访问修饰符
2.1 区分:
有 public
、private
、protected
没有修饰符即为默认:package/friendly/default
-
private:只有类自身可以访问;由该类实例的对象不能访问,子类不能继承
-
public:所有类均可以继承、访问:(同包/不同包)子类可继承;(同包/不同包)类可以访问
-
protected:不同包且没有继承关系的类不能访问
-
没有修饰符(package):只能在自己包使用;不同包不能访问、继承
-
总结(红色字体表示不可行)
下面以Hero为研究对象,弄清楚各个类之间的关系
**自身:**指的是Hero自己
**同包子类:**ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
**其他类:**Item这个类,在不同包,也没有继承关系的类
2.2 什么情况使用什么修饰符
属性通常使用private封装起来
方法一般使用public用于被调用
会被子类继承的方法,通常使用protected
package用的不多,一般新手会用package,因为还不知道有修饰符这个东西
作用范围最小原则:
简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来了