按要求实现下列问题:
1)封装一个西游记人物类Person:包含私有属性:姓名(name)、身高(height)、武器(weapon)、种族(race),并提供访问器(get方法)和修改器(set方法)
2)在测试类中实例化三个对象:tangseng(唐僧)、sunwukong(孙悟空)、baigujing(白骨精),分别设置他们的种族为:人族、仙族、妖族
3)在打印对象时(toString()),按照例如:“姓名:孙悟空;种族:仙族”的格式在控制台输出信息。
4)提供一个技能方法void skill(),这个方法根据当前对象name属性判断技能,如果是孙悟空,就打印“七十二变”,如果是唐僧,就打印“紧箍咒”,如果是白骨精,就打印“九阴白骨爪”,在测试类中调用这个方法。
5)重写equals方法进行判断,如果种族属性是人族或者仙族,则返回true,如果是妖族,则返回false,在测试类中对孙悟空和唐僧进行比较,打印结果,对唐僧和白骨金进行比较,并打印结果。
person类:
public class Person {
private String name;
private String height;
private String weapon;
private String race;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getWeapon() {
return weapon;
}
public void setWeapon(String weapon) {
this.weapon = weapon;
}
public String getRace() {
return race;
}
public void setRace(String race) {
this.race = race;
}
@Override
public String toString() {
return "姓名:"+name+";种族:"+race;
}
public void skill(){
switch (name){
case "孙悟空":
System.out.println(name+"的技能:七十二变");
break;
case "唐僧":
System.out.println(name+"的技能:紧箍咒");
break;
case "白骨精":
System.out.println(name+"的技能:九阴白骨爪");
break;
}
}
public boolean equals(){
if (race.equals("人族")||race.equals("仙族")){
return true;
}else {
return false;
}
}
}
test类:
public class Test {
public static void main(String[] args) {
Person tangseng=new Person();
tangseng.setName("唐僧");
tangseng.setRace("人族");
Person sunwukong=new Person();
sunwukong.setName("孙悟空");
sunwukong.setRace("仙族");
Person baigujing=new Person();
baigujing.setName("白骨精");
baigujing.setRace("妖族");
System.out.println("输出对象信息:");
System.out.println(tangseng.toString());
System.out.println(sunwukong.toString());
System.out.println(baigujing.toString());
System.out.println();
System.out.println("输出技能:");
tangseng.skill();
sunwukong.skill();
baigujing.skill();
System.out.println();
System.out.println("对孙悟空和唐僧进行比较,打印结果:");
System.out.println(sunwukong.equals()==tangseng.equals());
System.out.println("对唐僧和白骨金进行比较,并打印结果:");
System.out.println(tangseng.equals()==baigujing.equals());
}
}