| 
 
| abstract class Person//抽象Person类 {
 abstract void eat();//运动员和教练都需要吃饭,所以他们共同的属性(成员)eat
 abstract void sleep();//运动员和教练都需要睡觉,所以他们共同的属性(成员)sleep
 }
 abstract class Palyer extends Person//抽象运动员类,因为吃饭睡觉也是运动员属性,所以继承Person。
 {
 abstract void sunl();
 }
 abstract class Teacher extends Person//抽象教练类,因为吃饭睡觉也是运动员属性,所以继承Person。
 {
 abstract void zhid();
 }
 interface IEnglish//因为继承不能多级继承,所以只能用接口interface来满足一个已经继承过抽象类Palyer的乒乓运动员和继承过抽象类Teacher的乒乓教练。
 {                    //所以说接口满足了更多的需求
 void speakEnglish();
 }
 
 class PinpPalyer extends Palyer implements IEnglish//乒乓球运动员吃饭、睡觉、训练、学英语 所以要继承Palyer类,然后Palyer又继承Person,所以PinpPalyer也继承了。
 {                                                    //implements IEnglish:一个类只能继承一个抽象类但是可以实现多个接口。
 void eat(){
 System.out.println("乒乓球运动员吃饭");
 }
 void sleep(){
 System.out.println("乒乓球运动员睡觉");
 }
 void sunl(){
 System.out.println("乒乓球运动员训练");
 }
 public void speakEnglish(){
 System.out.println("乒乓球运动员学英语");
 }
 }
 class PinpTeacher extends Teacher implements IEnglish//乒乓球教练吃饭、睡觉、指导、学英语 所以要继承Palyer类,然后Palyer又继承Person,所以PinpPalyer也继承了。
 {                                                    //implements IEnglish:一个类只能继承一个抽象类但是可以实现多个接口。所以用了接口来同时满足实现已经继承的类的需求。
 void eat(){
 System.out.println("乒乓球教练吃饭");
 }
 void sleep(){
 System.out.println("乒乓球教练睡觉");
 }
 void zhid(){
 System.out.println("乒乓球教练指导");
 }
 public void speakEnglish(){
 System.out.println("乒乓球教练学英语");
 }
 }
 class BasketballPalyer extends Palyer//篮球球运动员吃饭、睡觉、指导、 所以要继承Palyer类,然后Palyer又继承Person,所以PinpPalyer也继承了。
 {
 void eat(){
 System.out.println("篮球运动员吃饭");
 }
 void sleep(){
 System.out.println("篮球运动员睡觉");
 }
 void sunl(){
 System.out.println("篮球运动员训练");
 }
 }
 class BasketballTeacher extends Teacher//篮球球教练吃饭、睡觉、指导、 所以要继承Palyer类,然后Palyer又继承Person,所以PinpPalyer也继承了。
 {
 void eat(){
 System.out.println("篮球教练吃饭");
 }
 void sleep(){
 System.out.println("篮球教练睡觉");
 }
 void zhid(){
 System.out.println("篮球教练指导");
 }
 }
 
 
 
 class  Demo
 {
 public static void main(String[] args)
 {
 //Person a= new PinpPalyer();
 PinpPalyer a=(PinpPalyer)new PinpPalyer();
 a.eat();
 a.sleep();
 a.sunl();
 a.speakEnglish();
 System.out.println("-------------------------------------------");
 PinpTeacher b=(PinpTeacher)new PinpTeacher();
 b.eat();
 b.sleep();
 b.zhid();
 b.speakEnglish();
 System.out.println("-------------------------------------------");
 BasketballPalyer c=(BasketballPalyer)new BasketballPalyer();
 c.eat();
 c.sleep();
 c.sunl();
 System.out.println("-------------------------------------------");
 BasketballTeacher d=(BasketballTeacher)new BasketballTeacher();
 d.eat();
 d.sleep();
 d.zhid();
 System.out.println("-------------------------------------------");
 
 }
 }
 
 
 | 
 |