首页 > 代码库 > 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 }

 

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