Chapter_07--接口

接口:提供 常量\抽象方法 的起模板作用的一种规范,具体用法:

public interface Shape {
	
	public final int a=123;
	
	public abstract void zhouchang();

	public abstract void mianji();

知乎上,@梅小西 举了个例子,很有意思,我顺便改了下,便于自己理解

我开了家宠物店,先定义个接口,只说明我卖宠物粮食,


public interface PetRestaurt {
public void buy();
}

那要是来了一只狗,我怎么办呢?我得定义个类,说明怎样给卖狗粮给狗


public class DogPet implements PetRestaurant{
//实现接口中的方法,来了狗,卖狗粮
public coid buy(){
System.out.println("来了只狗,出售狗粮")
}
}


要是来了一只猫呢? 那就定义个类,说明卖猫粮的方法

public class CatPet implements PetRestaurant {
//实现接口方法,来了猫,卖猫粮
public void buy() {
System.out.println("来了只猫,卖猫粮");
}
}

你想啊,我是个老板,我只管出货收钱,辨别小猫小狗这种活肯定不是我干的,所以要定义个伙计类,这个伙计用来打杂,告诉我是猫来了,还是狗来了

public class Waiter {
//伙计类定义个方法,来判断动物种类
public void choice(PetRestaurant pet)
{
pet.buy();//调用 相应动物类型的buy方法
}
}

最后,我这个老板终于该出场了,卖东西

public class Boss{
public static void main(String []gun){
	//将猫.狗.店小二的类全部实例化,不然怎么用啊
	PetRestaurant cat =new CatPet();
	PetRestaurant dog = new DogPet();
	Waiter xiaoer =new Waiter();

	xiaoer.choice(dog);//店小二选择方法默认调用接口的buy抽象方法
	xiaoer.choice(cat); //根据输入参数值,调用参数对象所属类,
				//如:输入dog,店小二的choice方法就调用了dog代表的对象的类CatPet(),下面的buy方法
}
}
可以看出,如果没有接口里的buy方法,店小二会累死啊









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值