首页 > 代码库 > 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.类,抽象类,接口的综合小练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。