抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

访问修饰符

区分:

publicprivateprotected

没有修饰符即为默认:package/friendly/default

  • private:只有类自身可以访问;由该类实例的对象不能访问,子类不能继承

  • public:所有类均可以继承、访问:(同包/不同包)子类可继承;(同包/不同包)类可以访问

  • protected:不同包且没有继承关系的类不能访问

  • 没有修饰符(package):只能在自己包使用;不同包不能访问、继承

  • 总结(红色字体表示不可行)总结

下面以Hero为研究对象,弄清楚各个类之间的关系

**自身:**指的是Hero自己
**同包子类:**ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是
同一个包
,但是彼此没有继承关系
**其他类:**Item这个类,在不同包,也没有继承关系的类

什么情况使用什么修饰符

  1. 属性通常使用private封装起来

  2. 方法一般使用public用于被调用

  3. 会被子类继承的方法,通常使用protected

  4. package用的不多,一般新手会用package,因为还不知道有修饰符这个东西


作用范围最小原则:
简单说,能用private就用private,不行就放大一级,用package,再不行就用protected,最后用public。 这样就能把数据尽量的封装起来,没有必要露出来的,就不用露出来

评论