接口与抽象类小练习

/* 继承中接口与抽象类练习: 乒乓球运动员和篮球运动员 乒乓球教练和篮球教练。 为了出国交流,乒乓球相关人员都须要学习英语 分析: 乒乓球运动员:属性: 姓名,年龄,技能: 打乒乓球 篮球运动员: 属性: 姓名年龄, 技能: 打篮球 乒乓球教练: 属性: 姓名,年龄, 技能: 教练乒乓球 篮球教练: 属性: 姓名,年龄 技能: 教练 篮球 运动员抽象类: 属性: 姓名,年龄, 方法: 打球 教练抽象类: 属性: 姓名年龄, 方法: 教练 接口: 学习英语 实现: 接口: 学习英语 运动员抽象类: 属性: 姓名,年龄, 方法: 打球 教练抽象类: 属性: 姓名年龄, 方法: 教练 乒乓球运动员: 继承 接口与运动员抽象类 篮球运动员: 继承运动员抽象类 */
 
//学习英语接口
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(); } } 
相关文章
相关标签/搜索