interface接口

接口定义 
    public interface Pet{
        public abstract void beFriendly();
    }
实现
    public class Dog extends Canine implements Pet{
        public void beFriend(){方法体};
    }

接口的内容全部为抽象,必须由继承者实现。
其直观作用是可以让继承者继承超过一个的来源。

适用场景是:当你需要一个可被继承的特性又不适合加入基类(并非所有子类符合特性)加入接口补充。
比如在animal类下某些类加入宠物特性,
一、如果把宠物方法加入基类中;
明显不是所有动物都应该有宠物特性,而且无法多态哪怕是宠物其宠物方法也不尽相同,
二、把宠物方法设定为抽象类,让每个子类重写;
无疑降低了继承的作用,增加了工作。
三、在需要时直接在子类写方法
没有多态性,也没有类似“合约性”显然宠物是一类动物的特性不是几个需要合约性。
此时接口的补充能力出现了
我们可以写一个宠物接口,让所有需要的子类实现(继承)来补充继承树

不同的继承树可以实现一个接口,一个类也可以实现多个接口。
相比之下继承虽然十分便捷高效,同时也限制了一些设计,那么在你想进一步设计类的实现使用接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值