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.pswp.cn/news/457289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457289.shtml
英文地址,請注明出處:http://en.pswp.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點。 而我,差不多,從一周前就開始準備了,因為公司最近在趕工,特別忙。為了周末不加班我提前一周就旁敲側擊地詢問師父的時間安排,最后又耿直地告訴師父我的周末計劃&…