JAVA --类与对象(八)访问修饰符

tech2025-11-07  6

访问修饰符

成员变量有四种修饰符 private 私有的 package/friendly/default 不写 protected 受保护的 public 公共的

类之间的关系

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

private 私有的

使用private修饰属性 自身:是可以访问的 同包子类:不能继承 不同包子类:不能继承 同包类:不能访问 其他包类:不能访问

注: 红色字体,表示不可行

public class hero { public float hp; public String name; int movespeed; float armor; private int a; //私有属性hero自身可以访问 //其他类不能访问。 }

package/friendly/default 不写

public class hero { public float hp; public String name; int movespeed; float armor; // 无修饰符的属性 hp // 自己可以访问 // 同包子类可以继承 // 不同包子类不能继承 // 同包类可以访问 // 不同包类不能访问 }

protected 受保护的

package charactor; import property.Weapon; public class Hero { private int id; String name; // protected饰符的属性 hp // 自己可以访问 // 同包子类可以继承 // 不同包子类可以继承 // 同包类可以访问 // 不同包类不能访问 protected float hp; float armor; int moveSpeed; public void equip(Weapon w) { } }

public 公共的

公共的修饰符 public String name; 姓名 任何地方,都可以访问

总结

什么时候用什么修饰符?

那么什么情况该用什么修饰符呢? 从作用域来看,public能够使用所有的情况。 但是大家在工作的时候,又不会真正全部都使用public,那么到底什么情况该用什么修饰符呢?

属性通常使用private封装起来方法一般使用public用于被调用会被子类继承的方法,通常使用protectedpackage用的不多,一般新手会用package,因为还不知道有修饰符这个东西

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

最新回复(0)