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("-------------------------------------------");
}
}
|
|