示例 1 : 类之间的关系
类和类之间的关系有如下几种:
以Hero为例
自身:指的是Hero自己
同包子类:ADHero这个类是Hero的子类,并且和Hero处于同一个包下
不同包子类:Support这个类是Hero的子类,但是在另一个包下
同包类: GiantDragon 这个类和Hero是同一个包,但是彼此没有继承关系
其他类:Item这个类,在不同包,也没有继承关系的类
示例 2: private 私有的
package charactor;
import property.Weapon;
public class Hero {
//属性id是private的,只有Hero自己可以访问
//子类不能继承
//其他类也不能访问
private int id;
String name;
float hp;
float armor;
int moveSpeed;
public void equip(Weapon w) {
}
}
使用private修饰属性
自身:是可以访问的
同包子类:不能继承
不同包子类:不能继承
同包类:不能访问
其他包类:不能访问
示例 3 : package/friendly/default 不写
package charactor;
import property.Weapon;
public class Hero {
private int id;
String name;
// 无修饰符的属性 hp
// 自己可以访问
// 同包子类可以继承
// 不同包子类不能继承
// 同包类可以访问
// 不同包类不能访问
float hp;
float armor;
int moveSpeed;
public voidequip(Weapon w) {
}
}
示例 4 : protected 受保护的
package charactor;
import property.Weapon;
public class Hero {
private int id;
String name;
// protected饰符的属性 hp
// 自己可以访问
// 同包子类可以继承
// 不同包子类可以继承
// 同包类可以访问
// 不同包类不能访问
protected floathp;
float armor;
int moveSpeed;
public voidequip(Weapon w) {
}
}
示例 5 : public 公共的
package charactor;
import property.Weapon;
public class Hero {
private int id;
// public的属性 name
// 自己可以访问
// 同包子类可以继承
// 不同包子类可以继承
// 同包类可以访问
// 不同包类可以访问
public Stringname;
protected floathp;
float armor;
int moveSpeed;
public voidequip(Weapon w) {
}
}
