某国家队有队员(member)数名,包括运动员(player)和教练(coach)

某国家队有队员(member)数名,包括运动员(player)和教练(coach),其中运动员和教练都有自己的姓名(name)、年龄(age)、身高(height)、体重(weight)属性,都要去参加比赛(competition),但二者不同的是,教练参加比赛是为了指导运动员,而运动员参加比赛是与其他选手PK。且为了出国交流,教练需要学习英语(learnEnglish)。要求利用抽象类、多态和接口实现,并在测试类(Test)中进行测试。
提示:
① 队员(member)是抽象父类,包含姓名(name)、年龄(age)、身高(height)、体重(weight)属性,包含抽象方法(competition),具体实现由子类完成。
② 学习英语(learnEnglish)是接口,包含一个抽象方法。
③ 运动员(player)和教练(coach)是队员(member)的子类,同时教练(coach)需要实现英语(learnEnglish)。

详细代码实现如下,望采纳

public abstract class Member {
    private String name;
    private int age;
    private double height;
    private double weight;

    public Member(String name, int age, double height, double weight) {
        this.name = name;
        this.age = age;
        this.height = height;
        this.weight = weight;
    }

    public abstract void competition();
}

public interface LearnEnglish {
    void learnEnglish();
}

public class Player extends Member {
    public Player(String name, int age, double height, double weight) {
        super(name, age, height, weight);
    }

    @Override
    public void competition() {
        // PK其他选手
    }
}

public class Coach extends Member implements LearnEnglish {
    public Coach(String name, int age, double height, double weight) {
        super(name, age, height, weight);
    }

    @Override
    public void competition() {
        // 指导运动员
    }

    @Override
    public void learnEnglish() {
        // 学习英语
    }
}

public class Test {
    public static void main(String[] args) {
        Member player = new Player("张三", 25, 180.0, 80.0);
        Member coach = new Coach("李四", 35, 175.0, 75.0);
        player.competition();
        coach.competition();
        ((Coach) coached).learnEnglish();
    }
}

abstract class member{
    String name;
    int age;
    float height;
    float weight;
    abstract void competition(); 
}

interface learnEnglish{
    abstract void learn();
}

class player extends member{
    void competition(){

    }
}

class coach extends member implements learnEnglish{
    
    void competition(){

    }
    
    public void learn(){

    }
}