有没有解决一下的,写一下代码

按要求实现下列问题:
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());

    }

}