/* 继承中接口与抽象类练习: 乒乓球运动员和篮球运动员 乒乓球教练和篮球教练。 为了出国交流,乒乓球相关人员都需要学习英语 分析: 乒乓球运动员:属性: 姓名,年龄,技能: 打乒乓球 篮球运动员: 属性: 姓名年龄, 技能: 打篮球 乒乓球教练: 属性: 姓名,年龄, 技能: 教练乒乓球 篮球教练: 属性: 姓名,年龄 技能: 教练 篮球 运动员抽象类: 属性: 姓名,年龄, 方法: 打球 教练抽象类: 属性: 姓名年龄, 方法: 教练 接口: 学习英语 实现: 接口: 学习英语 运动员抽象类: 属性: 姓名,年龄, 方法: 打球 教练抽象类: 属性: 姓名年龄, 方法: 教练 乒乓球运动员: 继承 接口与运动员抽象类 篮球运动员: 继承运动员抽象类 */ //学习英语接口 interface LearnEnglish { public abstract void learn(); } //运动员类 abstract class Sporter { private String name; private int age; //构造方法 Sporter(){} Sporter(String name, int age){ this.name = name ; this.age = age; } public abstract void play(); } abstract class Trainer { private int age; private String name; //构造方法 Trainer(){} Trainer(String name, int age){ this.name = name; this.age = age; } public abstract void train(); } //乒乓球运动员 class PingPenPlayer extends Sporter implements LearnEnglish { PingPenPlayer(String name, int age){ super(name, age); } public void play(){ System.out.println("pingpeng plays "); } public void learn(){ System.out.println("learn english"); } } class BasketballPlayer extends Sporter { BasketballPlayer(String name, int age){ super(name,age); } //方法重写 public void play(){ System.out.println("play basketballl"); } } class PingPenTrainer extends Trainer implements LearnEnglish { PingPenTrainer(String name, int age){ super(name, age); } //抽象教练父类方法 public void train(){ System.out.println("pingpeng train "); } //c重写学习英语接口方法 public void learn(){ System.out.println(" trainer learn english"); } } class BasketballTrainer extends Trainer { BasketballTrainer(String name, int age){ super(name, age); } //抽象教练父类方法 public void train(){ System.out.println("BasketballTrainer train"); } } public class InterfaceDemo { public static void main(String[] args){ //乒乓球运动员 Sporter pingpeng = new PingPenPlayer("张继科", 30); pingpeng.play(); } }
原文地址:https://www.cnblogs.com/yu-zhi/p/9404446.html
时间: 2024-10-19 13:23:07