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

  1 /*
  2  教练和运动员案例(学生分析然后讲解)
  3     乒乓球运动员和篮球运动员。
  4     乒乓球教练和篮球教练。
  5     为了出国交流,跟乒乓球相关的人员都需要学习英语。
  6     请用所学知识:
  7     分析,这个案例中有哪些抽象类,哪些接口,哪些具体类。
  8         分析:
  9             1、共同的属性:姓名 年龄
 10                    共同的方法:吃饭,睡觉
 11                    其中吃饭的内容两者不同,所以用抽象方法
 12                    不同的方法:队员练习,教练教导,分别写入队员类和教练类
 13             2、接口:学习英语
 14             3、抽象类:人类;  运动员类、教练类 这两个继承人类
 15                    具体类:乒乓球队员类、教练类和篮球队员类、教练类 ; 分别继承运动员类或教练类,其中乒乓球有关的扩展学习英语接口     
 16 */
 17 
 18 //定义学英语接口
 19 interface English{
 20     public abstract void speak();
 21 }
 22 
 23 //定义抽象人类
 24 abstract class person{
 25     //成员变量
 26     private String name;
 27     private int age;
 28     
 29     //无参构造方法
 30     public person(){}
 31     
 32     //有参构造方法
 33     public person(String name,int age){
 34         this.name = name;
 35         this.age = age;
 36     }
 37     
 38     public String getName(){
 39         return name;
 40     }
 41     public void setName(String name){
 42         this.name = name;
 43     }
 44     public int getAge(){
 45         return age;
 46     }
 47     public void setAge(int age){
 48         this.age = age;
 49     }
 50     
 51     //抽象方法
 52     public abstract void eat();
 53     //成员方法
 54     public void sleep(){
 55         System.out.println("睡觉去");
 56     }
 57 }
 58 
 59 //抽象运动员类
 60 abstract class player extends person{
 61     //无参构造方法
 62     public player(){}
 63     //有参构造方法
 64     public player(String name,int age){
 65         super(name,age);
 66     }
 67     //特有的方法,练习,不得不做的,用抽象
 68     public abstract void student();
 69 }
 70 
 71 //抽象教练类
 72 abstract class coach extends person{
 73     public coach(){}
 74     public coach(String name,int age){
 75         super(name,age);
 76     }
 77     public abstract void teacher();
 78 }
 79 
 80 //具体乒乓球运动类 
 81 class pingpangplayer extends player implements English{
 82     public pingpangplayer(){}
 83     public pingpangplayer(String name,int age){
 84         super(name,age);
 85     }
 86     public void speak() {
 87         System.out.println("要学习英语");
 88     }
 89     public void student() {
 90         System.out.println("要练习发球和接球的技巧");
 91     }
 92     public void eat() {
 93         System.out.println("吃清淡的饭菜");
 94     }
 95 }
 96 
 97 //具体乒乓球教练类
 98 class pingpangcoach extends coach implements English{
 99     public pingpangcoach(){}
100     public pingpangcoach(String name,int age){
101         super(name,age);
102     }
103     public void speak(){
104         System.out.println("要学习英语");
105     }
106     public void teacher(){
107         System.out.println("要教导队员发球和接球的技巧");
108     }
109     public void eat(){
110         System.out.println("跟着队员吃清淡的饭菜");
111     }
112 }
113 
114 //具体篮球队员类
115 class basketballplayer extends player{
116     public basketballplayer(){}
117     public basketballplayer(String name,int age){
118         super(name,age);
119     }
120     public void eat(){
121         System.out.println("要吃油腻的饭菜");
122     }
123     public void student(){
124         System.out.println("要练习运球和投篮技巧");
125     }
126 }
127 //具体篮球教练类
128 class basketballcoach extends coach{
129     public basketballcoach(){}
130     public basketballcoach(String name,int age){
131         super(name,age);
132     }
133     public void eat(){
134         System.out.println("要跟着队员,吃油腻的饭菜");
135     }
136     public void teacher(){
137         System.out.println("要教导队员运球和投篮技巧");
138     }
139 }
140 
141 class InterfaceTest1 {
142     public static void main(String[] args) {
143         //测试运动员(乒乓球运动员和篮球运动员)
144         //乒乓球运动员
145         pingpangplayer p3 = new pingpangplayer("马龙",26);
146         p3.eat();
147         p3.sleep();
148         p3.student();
149         p3.speak();
150         
151         basketballplayer b2p = new basketballplayer("姚明",38);
152         b2p.eat();
153         b2p.sleep();
154         b2p.student();
155         
156         System.out.println("------------");
157         //测试教练类
158         
159         pingpangcoach p2c = new pingpangcoach("教练p",41);
160         p2c.eat();
161         p2c.sleep();
162         p2c.teacher();
163         p2c.speak();
164         
165         basketballcoach b2c = new basketballcoach("教练b",38);
166         b2c.eat();
167         b2c.sleep();
168         b2c.teacher();
169         
170     }
171 
172 }

 

转载于:https://www.cnblogs.com/LZL-student/p/5860918.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457289.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java发送c语言结构体_C语言中结构体直接赋值?

在C语言中结构体变量之间可以进行赋值操作吗?简单结构体的赋值先说结论:一般来说,C语言中的结构体变量可以用另一个变量对其进行赋值或初始化。简单结构体(不包含指针成员)直接赋值没有问题。我们先下面一段代码:#include #includ…

Cacti 使用安装详解-企业级实例

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。Cacti是通过 snmpget来获取数据,使用 RRDtool绘画图形,它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还…

MySQL 插入数据时,中文乱码???问题的解决

在终端,mysql -u root -p 登录; show variables like character%; 来查看当前数据库的相关编码集。 client为客户端使用的字符集。connection为连接数据库的字符集设置类型,如果程序没有指明连接数据库使用的字符集类型则按照服务器端默认的字…

mysql时间间隔interval_MySQL DATEDIFF函数获取两个日期的时间间隔的方法

描述返回两个日期之间的时间间隔。语法DateDiff(interval, date1, date2 [ ,firstdayofweek[ , firstweekofyear]] )DateDiff 函数的语法有以下参数:参数描述interval必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。有关数值&#xff…

linux教程:配置Tomcat开机启动

我们在linux下安装好tomcat之后;经常是需要配置到开机启动的; 这样的话就不需要我们每次重启linux服务器之后自己在登陆运行startup.sh文件启动tomcat了 本次的演示环境是在centos7中完成的;也在centos6.5中测试过;理论上所有版本…

操作系统内存分配算法_操作系统基础45-伙伴系统和slab内存分配

当在用户模式下运行进程请求额外内存时,从内核维护的空闲页帧列表上分配页面。这个列表通常使用页面置换算法来填充,如前所述,它很可能包含散布在物理内存中的空闲页面。也要记住,如果用户进程请求单个字节内存,那么就…

Sublime Text 3新建工程

1. 创建工程 Project > Add Folder to Project 这时在sidebar中将出现刚刚添加的文件目录,如果还需要添加其他目录,则重复这一操作即可。 2. 保存工程 Project > Save Project As 点击保存后Sublime Text将自动生成两个文件: 如图&…

钟国晨 160809323

助教老师好,我是计科三班钟国晨,我对我们专业并不是很了解,至少从目前来看是这样,不过虽然感觉我们专业内容比较复杂,我还是对我们所学的知识挺感兴趣的,我性格比较开朗,希望以后能和老师您多多…

445端口 mysql_关于如何关闭window端口445的详细介绍

首先,来查看下系统当前都开放了什么端口,怎样查看呢?调出cmd命令行程序,输入命令”netstat -na“,可以看到。接着,可以发现当前系统开放了135、445以及5357端口,而且从状态看都处于监听状态”Li…

maven GroupId 和ArtifactId的含义

GroupID是项目组织唯一的标识符,实际对应Java的包的结构,是main目录里java的目录结构。 ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。

输入圆的半径,计算并输出圆的周长和面积

转载于:https://www.cnblogs.com/nicebaby/p/5866320.html

python解析xml数据_数据开发_Python解析XML文件

解析XML文件XML是可扩展标记语言,主要用于传输和存储数据解析方式使用lxml解析主要注意: text tag attrib 使用方式 有 get() 以及迭代的情况数据示例a31代码示例#!/usr/bin/env python# -*-coding:utf-8-*-# file parse_xml_exp.py# date 2020-10-**fro…

Mac下运行git报错xcrun: error: invalid active developer path ..

错误:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 如图: 解决方法: 终端输入: xcode-select --install 之后点击…

CodeForces 15B Laser

题目链接:http://codeforces.com/problemset/problem/15/B题意:给出n*m的一块巧克力,再给出两个点,两点只能同时移动,两点所占位置巧克力会融化,问所有能走位置走遍之后还剩下几块巧克力。思路:…

datetime-时间日期模块

import datetime例1:把nginx的日志格式转化为易懂的格式time 10/Aug/2016:03:20:09 0800a datetime.datetime.strptime(time,%d/%b/%Y:%H:%M:%S %z)a.strftime(%Y%m%d%H%m)转载于:https://blog.51cto.com/liuzhengwei521/1892274

tensorflow独热编码方法_吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念

参考:https://blog.csdn.net/u013733326/article/details/79971488希望大家直接到上面的网址去查看代码,下面是本人的笔记到目前为止,我们一直在使用numpy来自己编写神经网络。现在我们将一步步的使用深度学习的框架来很容易的构建属于自己的…

python运维开发之第八天(socket)

什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。 socket()函数 Python 中,我们用 socket()函数来创建…

基于Dubbo框架构建分布式服务

一、Dubbo服务集群容错 假设我们使用的是单机模式的Dubbo服务,如果在服务提供方(Provider)发布服务以后,服务消费方(Consumer)发出一次调用请求,恰好这次由于网络问题调用失败,那么我…

vue样式中背景图片路径_vue打包css文件中背景图片的路径问题

vue-cli写完的静态页面我们在node环境中引入没有问题,但是打包后放在Apache环境下,路径却有问题了如一个简单css语句.all_bg {background: url(../images/all_bg.png) 0 0 no-repeat;display: inline-block;overflow: hidden;background-size: 200px 300…

如果我们不曾相遇

五月天的演唱会定的是9月10号,周六晚上7点。 而我,差不多,从一周前就开始准备了,因为公司最近在赶工,特别忙。为了周末不加班我提前一周就旁敲侧击地询问师父的时间安排,最后又耿直地告诉师父我的周末计划&…