面向对象(4)接口

上面一篇,说到了继承,现在再说一个和继承差不多但又不同的内容:

接口

有了猫狗的一般情况,那么来点特殊的,叮当猫,哮天犬。

所以这俩除了普通的animal的特性外还有别的,但是又不是所有的猫狗都具备特殊特性,所以要有种特殊的方式实现。那就是接口(interface)。

接口是把特定属性封装起来,一旦类实现了接口,该类就可以支持接口所指定的所有属性和方法,但是接口不能提供执行方式,只能声明。

也许很麻烦,但是类可以多接口实现,多个类可以实现相同接口。接口的命名要在前面加一个“I”字母。

好,下面写个接口:

public interface IChange {
	String ChangeThing(String thing);
}
创建一个机器猫的类:

public class MachineCat extends Animal implements IChange{
	public MachineCat(String name) {
		super(name);
	}
	public MachineCat() {
		super();
	}
	public String shout(){
		for(int i =0;i<shoutNum;i++){
			System.out.println("喵");
		}
		return "我的名字是"+name;
	}
	@Override
	public String ChangeThing(String thing) {
		
		return shout()+"我有"+thing;
	}
}

最后主方法:

public class CatShout   {
	public static void main(String[] args) {
		MachineCat cat = new MachineCat("机器猫");
		cat.setShoutNum(3);
		IChange cat2=cat;//让cat2具有cat的属性,又有特殊的属性
		System.out.println(cat2.ChangeThing("万能口袋"));
		//但是cat2声明的是IChange所以只能用该接口中的方法
	}
	
}

运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值