抽象类练习

抽象类就是

父类里面有一个方法,比如吃,但是只是定义一个吃,吃什么东西由下面继承的子类自己写,子类就需要写一个一样的方法

普通类继承就是

父类里面有一个方法,比如吃,这个吃已经定义好吃的东西,下面的子类不能自己定义要吃的东西(如果要强制定义,可以用this.方法名),所以可以不写吃的方法,用的时候直接调用父类的方法就可以

/*
 * 两个运动员,一个篮球运动员,一个乒乓球运动员
 * 两个教练,一个篮球教练,一个乒乓球教练
 * 篮球运动员和篮球教练会出国,所以需要学英语
 */
public class Test {

	public static void main(String[] args) {

		Boss b=new Boss();
		b.zhihui2(new BasketJl());
		Boss b2=new Boss();
		b2.zhihui(new BasketballPlayer());
}
}
//定义一个指挥他们行动的领导
class Boss{
	public void zhihui(BasketballPlayer bp){
		bp.xuexi();
	}
	public void zhihui2(JiaoLian jl){
		jl.Tech();
	}
}
//定义一个 人 的类
class person{
	String name;
	int age;
	String job;
	public void eat(){
		
	}
	public void sleep(){
		
	}

}
//定义一个运动员的类
class Player extends person{
	
	public void study(){
		
	}
}
//定义一个教练的类
class JiaoLian extends person{
	
	public void Tech(){
		
	}
}
//定义一个学英语的接口
interface English{
	public void xuexi();
}
//定义4个具体的子类
//篮球运动员
class BasketballPlayer extends Player implements English{

	@Override
	public void xuexi() {
		// TODO Auto-generated method stub
		System.out.println("为了出国,要学习英语,运动员");
	}
	public void Tech(){
		System.out.println("学会打篮球");	
	}
	
	
}
//乒乓球运动员
class PpPlayer extends Player{
	public void Tech(){
		System.out.println("学会打乒乓球");	
	}
}
//篮球教练
class BasketJl extends JiaoLian implements English{

	@Override
	public void xuexi() {
		System.out.println("为了出国,要学习英语,教练");	
	}
	public void Tech(){
		System.out.println("教会他打篮球");	
	}
	
}
//乒乓球教练
class PpJl extends JiaoLian{
	public void Tech(){
		System.out.println("教会他打乒乓球");	
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值