暴力理解java中接口的作用


接口的翻译太二逼了
其实就是协议。。。
协议双方根据协议内容工作
我有一个方法,需要一个参数,这个参数是某个类的对象,我们要调用这个参数的fuck方法让他干起来。
void ml(Animal a)
{
a.fuckMe();
}
如果这个动物对象a,没有fuckME函数,会发生什么。。。。。。程序根本通不过编译。
所以此时需要一个接口
interface Fuckable{
void fuckMe():
}
void ml(Fuckable a){
a.fuckMe();
}
我要求传入进来的必须是有fuckme方法的,要不然我这个函数体就失败了。按理来说可以在文档里面说明,但是万一有个二逼传入进来一条母狗,母猩猩,女螃蟹,我咋办,下得去手吗?
所以我强制规定,必须是能草的!!
什么是能草的呢?
这就是实现这个接口的。。只要你实现了这个Fuckable 接口,就必须实现fuckMe方法。要不就报错。
你想要让我草,你就实现这个接口,你就要实现fuckme方法。
如果你实现了,当你传入进来后,我不管你是人是兽是水壶,ok,你实现这个接口了,意味着你一定有fuckme方法,那我就可以继续了。。。
所以接口就是协议。调用者和被调用者之间的协议。。
当你调用者要求被调用的必须能做某些时,你就用接口。。接口也意味着想有资格被调用,就要实现规定好的方法。。
接口也有泛化的意思
也就是说让一个类成员可以是多个对象。
举个例子
一个成员
Dog d = new Dog
好了,以后这个成员没法变了,就是Dog了。
但是如果用接口
Animal a
那么传入什么都行,只要实现接口,也就是说只要具有我跟你协定好的功能就能来。。
易于扩展。。
新的功能,只要实现了这个接口就行。

Reference
作者:乌索普
链接:https://www.zhihu.com/question/20111251/answer/82218624
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值