
//人抽象类
abstract class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
//教练抽象类
abstract class Coach extends Person {
public Coach() {
}
public Coach(String name, int age) {
super(name, age);
}
public abstract void work();
}
//运动员抽象类
abstract class SportsMan extends Person {
public SportsMan() {
}
public SportsMan(String name, int age) {
super(name, age);
}
public abstract void work();
}
//乒乓球运动员
public class PingPang extends SportsMan implements LeanEnglish{
public PingPang() {
}
public PingPang(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("乒乓运动员");
}
@Override
public void show() {
System.out.println("学英语出国");
}
}
//篮球运动员
public class Basketball extends SportsMan{
public Basketball() {
}
public Basketball(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("篮球运动员");
}
}
//乒乓球教练
public class Pcoach extends Coach implements LeanEnglish{
public Pcoach() {
}
public Pcoach(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("乒乓球教练");
}
@Override
public void show() {
System.out.println("学英语出国");
}
}
//篮球教练
public class Bcoach extends Coach {
public Bcoach() {
}
public Bcoach(String name, int age) {
super(name, age);
}
@Override
public void work() {
System.out.println("篮球教练");
}
}
//学习英语接口
public interface LeanEnglish {
public abstract void show();
}
/*教练和运动员案例(学生分析然后讲解)
乒乓球运动员和篮球运动员。
乒乓球教练和篮球教练。
为了出国交流,跟乒乓球相关的人员都需要学习英语。
请用所学知识:
分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。*/
public class MainText {
public static void main(String[] args) {
SportsMan sm = new PingPang("张三", 20);
Coach c = new Pcoach("李四", 25);
((PingPang) sm).show();
sm.work();
c.work();
((Pcoach) c).show();
}
}