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 }

 

posted @ 2016-09-11 07:15  卡拉瓦  阅读(2606)  评论(0编辑  收藏  举报