文章目录

  • 分析
  • 定义学英语接口
  • 定义抽象人类
  • 定义抽象教练类
  • 定义抽象运动员类
  • 定义具体类乒乓球运动员类
  • 定义具体类篮球运动员类
  • 定义具体类乒乓球教练类
  • 定义具体类篮球教练类
  • 定义测试类
  • 运行结果

分析

  • 定义学英语接口,成员方法:学习英语()
  • 定义抽象人类,成员变量:姓名、年龄,构造方法:无参、有参;成员方法:get、set
  • 定义抽象教练类,继承人类:构造方法:无参、有参;成员方法:教学
  • 定义抽象运动员类,继承人类:构造方法:无参、有参;成员方法:训练
  • 定义具体类乒乓球运动员类,继承运动员类,实现学英语接口:构造方法:无参、有参;成员方法:重写学习英语、训练;
  • 定义具体类篮球运动员类,继承运动员类:构造方法:无参、有参;成员方法:重写训练;
  • 定义具体类乒乓球教练类,继承教练类,实现学英语接口:构造方法:无参、有参;成员方法:重写教学、重写学习英语
  • 定义具体类篮球教练类,继承教练类:构造方法:无参、有参;成员方法:重写教学
  • 定义测试类

定义学英语接口

interface StudyEnglish{public abstract void studyEnglish();
}

定义抽象人类

abstract class Person2{private String name;private int age;public Person2() {}public Person2(String name, int age) {super();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 Person2{public Coach() {}public Coach(String name, int age) {super(name, age);}public abstract void teach();
}

定义抽象运动员类

abstract class Player extends Person2{public Player() {}public Player(String name, int age) {super(name, age);}public abstract void train();
}

定义具体类乒乓球运动员类

class PpPlayer extends Player implements StudyEnglish{public PpPlayer() {}public PpPlayer(String name, int age) {super(name, age);}@Overridepublic void studyEnglish() {System.out.println("乒乓球运动员学习英语");}@Overridepublic void train() {System.out.println("乒乓球运动员训练");}
}

定义具体类篮球运动员类

class BasketballPlayer extends Player{public BasketballPlayer() {}public BasketballPlayer(String name, int age) {super(name, age);}@Overridepublic void train() {System.out.println("篮球运动员训练");}
}

定义具体类乒乓球教练类

class PpCoach extends Coach implements StudyEnglish{public PpCoach() {}public PpCoach(String name, int age) {super(name, age);}@Overridepublic void studyEnglish() {System.out.println("乒乓球教练学习英语");}@Overridepublic void teach() {System.out.println("乒乓球教练教乒乓球");}
}

定义具体类篮球教练类

class BasketballCoach extends Coach{public BasketballCoach() {}public BasketballCoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("篮球教练教篮球");}
}

定义测试类

 public static void main(String[] args) {BasketballPlayer basketballPlayer=new BasketballPlayer();basketballPlayer.train();BasketballCoach basketballCoach=new BasketballCoach();basketballCoach.teach();PpCoach ppCoach=new PpCoach();ppCoach.teach();ppCoach.studyEnglish();PpPlayer ppplayer=new PpPlayer();ppplayer.train();ppplayer.studyEnglish();}

运行结果

我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练 为了出国交流,跟乒乓球相关的人员都要学习英语 请用所有知识分析: 这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现相关推荐

  1. 接口和抽象类练习:教练和运动员案例: (1)人员:乒乓球运动员和篮球运动员。乒乓球教练和篮球教练。 (2)为了出国交流,跟乒乓球相关的人员都需要学习英语。 请用所学知识分析,设计类和接口。

    接口和抽象类的练习 需求分析: 教练和运动员案例: (1)人员:乒乓球运动员和篮球运动员.乒乓球教练和篮球教练. (2)为了出国交流,跟乒乓球相关的人员都需要学习英语. 请用所学知识分析,设计类和接口 ...

  2. 编写Java程序,模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员。教练员包括乒乓球教练和篮球教练。为了方便出国交流,根乒乓球相关的人员都需要学习英语。

    需求说明: 模拟教练员和运动员出国比赛场景,其中运动员包括乒乓球运动员和篮球运动员.教练员包括乒乓球教练和篮球教练.为了方便出国交流,根乒乓球相关的人员都需要学习英语.具体分析如下: (1)共同的属性 ...

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

    1 /* 2 教练和运动员案例(学生分析然后讲解) 3 乒乓球运动员和篮球运动员. 4 乒乓球教练和篮球教练. 5 为了出国交流,跟乒乓球相关的人员都需要学习英语. 6 请用所学知识: 7 分析,这个 ...

  4. java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举

    今天继续回顾Java基础,有些东西用得不多,大家看看知道语法就好 主要内容 抽象类 抽象方法 抽象方法的写法 抽象方法是否可以私有化 抽象类的特征 抽象类有无构造器,能否实例化对象 抽象类的结构 抽象 ...

  5. 关于类、抽象类和接口的继承关系

    关于类.抽象类和接口的继承关系 Java类的继承是单继承的,就是一个类只能继承一个类,但是可以通过接口来实现多继承,一个类可以实现多个接口.通过这种方式,Java类就可以实现多继承的关系.但是在继承类 ...

  6. 普通类,抽象类和接口之间的区别

    一.普通类.抽象类和接口区别: 1. 普通类可以实例化,接口都不能被实例化(它没有构造方法),抽象类如果要实例化,抽象类必须指向实现所有抽象方法的子类对象(抽象类可以直接实例化,直接重写自己的抽象方法 ...

  7. 类、抽象类、接口之间的区别

    目录 1.类与抽象类的异同之处 (1)类和抽象类的区别 (2)类和抽象类的相同之处 2.接口与类的异同之处 (1)接口与类相似点 (2)接口与类的区别 (3)接口特性 3.抽象类和接口的区别 1.类与 ...

  8. java实体类实现抽象类_java接口、抽象类、实体类关系介绍

    接口:接口是一个引用类型,与类相似,不过在接口中只能包含常量,方法名和嵌套类型.没有构造器,所以不能被实例化只能被类所实现或者被另外的接口所继承.在接口中声明的方法没有方法体. 抽象类:将类层次中共有 ...

  9. java接口作为参数_JAVA:将类、抽象类、接口当成方法的参数传入

    将类当成参数传入方法,其实就是将类的对象传入方法,如果是抽象类,其实就是将抽象类的子类的对象传入方法,如果是接口,其实就是将接口实现类的对象传入方法. 因为抽象类和接口是不能实例化成对象的,所以必须找 ...

最新文章

  1. PASCAL VOC工具包解读
  2. c语言%f小数位第六位是错的,c语言中输出浮点型数据,如果不指定输出位数,%f输出几位小数?...
  3. 《Android游戏开发详解》一3.1 构造方法
  4. C#排队处理DEMO
  5. Cisco测试命令和TCP/IP连接故障处理
  6. asp.net表单提交方法GET\POST
  7. Common Lisp 函数 require 和 provide 源代码分析
  8. Android之Windows下搭建React Native Android开发环境(差不多搞了一天)
  9. tensorflow实现回归
  10. mips汇编计算开方_东南大学计算机系统综合设计MOOC第5期开课
  11. ubuntu12.04编译rtems doc目录
  12. SIR模型和Python实现
  13. 在Style Report中制作主从分级报表
  14. Shell命令学习笔记
  15. html5编写软件哪个好?八款html5编写软件推荐
  16. 在线二进制转文本字符工具
  17. PostScript语言教程(一、介绍)
  18. UICC 之 USIM 详解全系列——UICC基础知识介绍
  19. 北京交通大学计算机学院硕士导师,北京交通大学计算机与信息技术学院研究生导师:王涛...
  20. 企业网配置必备技术NAT,3张图理清

热门文章

  1. 呀,要解析的xml文件有1G大,怎么办?
  2. springboot日志配置logback-spring.xml
  3. 程序员vs计算机教师,薪资大PK!教师VS程序员,你想不到的事实!
  4. 各种常用文件后缀名详解
  5. 项目目标的SMART原则
  6. macbook更新windows11
  7. jQuery easyUI pannel 用法记录
  8. 「GoTeam 招聘时间」ANKER Golang 开发工程师(深圳)
  9. 在微信中怎么打开微信运动?福利干货!如何在微信中开启微信运动记录每天运动步数?
  10. VC CDC类的使用 详解