接口与抽象类小练习

Posted yu-zhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口与抽象类小练习相关的知识,希望对你有一定的参考价值。

/* 
继承中接口与抽象类练习:

乒乓球运动员和篮球运动员
乒乓球教练和篮球教练。
为了出国交流,乒乓球相关人员都需要学习英语

分析:
    乒乓球运动员:属性: 姓名,年龄,技能: 打乒乓球
    篮球运动员: 属性: 姓名年龄, 技能: 打篮球
    乒乓球教练: 属性: 姓名,年龄, 技能: 教练乒乓球
    篮球教练:    属性: 姓名,年龄         技能: 教练 篮球
    
    运动员抽象类: 属性: 姓名,年龄, 方法: 打球
    教练抽象类: 属性: 姓名年龄, 方法: 教练
    接口: 学习英语
    
实现: 
    接口: 学习英语
    运动员抽象类: 属性: 姓名,年龄, 方法: 打球
    教练抽象类: 属性: 姓名年龄, 方法: 教练
    
    乒乓球运动员: 继承 接口与运动员抽象类
    篮球运动员: 继承运动员抽象类
    
    
    

 */
 
//学习英语接口
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();
    }
}
 

 

以上是关于接口与抽象类小练习的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记3.7.2 抽象类接口与多态 - 接口

java9-1.类,抽象类,接口的综合小练习

Java基础——关于接口和抽象类的几道练习题

面向对象笔试题练习一

Java练习题Java 程序的输出 | 第二十五套(Java抽象类和接口)

面向对象之继承与派生