定义一个父类Role(),当子类重写了父类中的attack()方法时,在多态中必定调用子类重写过的方法;在这个重写的这个方法中,子类仍然可以调用自己独有的方法。
public class Role {
private String name;
public void setName(String name) {
this.name=name;
}
public String getName() {
return name;
}
public int attack() {
return 0;
}
}
/**
* 法师类,是角色的子类
* @version 2022年7月17日
*/
public class Magicer extends Role {
private int level;
public void setLevel(int level) {
this.level=level;
}
public int getLevel() {
return level;
}
public int attack() {
return getLevel()*5;
}
}
public class Test1 {
public static void main(String[] args) {
Role[] role=new Role[5];
Team t1=new Team();
boolean mark1;
do {
mark1=t1.addMember(role);
} while (mark1);
System.out.println("角色的总法力为:"+t1.attackSum(role));
}
}
//组队人数已经达到上限!
//角色的总法力为:136