interfaceSpeakEnglish {//speak English
public abstract voidspeak();
}abstract classPerson {privateString mName;private intmAge;publicPerson() {}public Person(String name, intage) {
mName=name;
mAge=age;
}public voidsetName(String name) {
mName=name;
}publicString getName() {returnmName;
}public void setAge(intage) {
mAge=age;
}public intgetAge() {returnmAge;
}//sleep
public voidsleep() {
System.out.println("sleep");
}//eat
public abstract voideat();
}abstract class Player extendsPerson{publicPlayer() {}public Player(String name, intage) {super(name, age);
}//study
public abstract voidstudy();
}abstract class Coach extendsPerson{publicCoach() {}public Coach(String name, intage) {super(name, age);
}//teach
public abstract voidteach();
}class PingPangPlayer extends Player implementsSpeakEnglish {publicPingPangPlayer() {}public PingPangPlayer(String name, intage) {super(name, age);
}
@Overridepublic voideat() {
System.out.println("PingPangPlayer eat Chinese cabbage and drink millet gruel.");
}
@Overridepublic voidstudy() {
System.out.println("PingPangPlayer learn how to serve and dribble.");
}public voidspeak() {
System.out.println("PingPangPlayer speak English.");
}
}class BasketballPlayer extendsPlayer {publicBasketballPlayer() {}public BasketballPlayer(String name, intage) {super(name, age);
}
@Overridepublic voideat() {
System.out.println("BasketballPlayer eat beef and drink milk.");
}
@Overridepublic voidstudy() {
System.out.println("BasketballPlayer learn how to dribble.");
}
}class PingPangCoach extends Coach implementsSpeakEnglish {publicPingPangCoach() {}public PingPangCoach(String name, intage) {super(name, age);
}
@Overridepublic voideat() {
System.out.println("PingPangCoach eat mill Chinese cabbage and drink eice porridge.");
}
@Overridepublic voidteach() {
System.out.println("PingPangCoach teach how to serve and dribble.");
}public voidspeak() {
System.out.println("PingPangCoach speak English.");
}
}class BasketballCoach extendsPlayer {publicBasketballCoach() {}public BasketballCoach(String name, intage) {super(name, age);
}
@Overridepublic voideat() {
System.out.println("BasketballCoach eat mutton and drink goats' milk.");
}
@Overridepublic voidstudy() {
System.out.println("BasketballCoach teach how to dribble.");
}
}public classTest {public static voidmain(String[] args) {//test palyer
PingPangPlayer pingPangPlayer = newPingPangPlayer();
pingPangPlayer.setName("wanghao");
pingPangPlayer.setAge(33);
System.out.println(pingPangPlayer.getName()+"-------"+pingPangPlayer.getAge());
pingPangPlayer.eat();
pingPangPlayer.sleep();
pingPangPlayer.study();
}
}