java9-1.类,抽象类,接口的综合小练习
生活随笔
收集整理的這篇文章主要介紹了
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
總結
以上是生活随笔為你收集整理的java9-1.类,抽象类,接口的综合小练习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js作用域与作用域链
- 下一篇: elasticsearch index