首页 新闻 会员 周边 捐助

接口在你们眼里都是这样的?太可怕了!!

0
[已解决问题] 解决于 2016-04-18 15:45
提问者采纳
 
请问你如何直接写?! 

你都没有理解接口的含义。类是对象的抽象,接口抽得更厉害,是类的抽象。不打机锋,直接看尘世的七情六欲。

比如,你要一个充气娃娃,这个充气娃娃有一个makeLove方法,你买这个娃娃就是冲着makeLove去的,你不关心它是哪国的娃娃,长得怎样。那么代码就体现为:

interface Chongqiwawa{
public void makeLove(String name);
}

class Person{
Chongqiwawa wawa;
public void setWawa(Chongqiwawa wawa){
this.wawa = wawa;
}
private String name;
public void makeLove(){
//调用wawa的makeLove方法
wawa.makeLove(name);
}
现在,你想和wawa那个,就可以这样用了:
main(){
Person you = new Person();
you.makeLove();
}

报错了吧?你怎么能跟虚的wawa那个呢?所以必须要买一个wawa.好吧,去逛成人店选购一个wawa.这里有日本娃娃,美国娃娃,先看看美国娃娃功能怎么样。

class USAWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " come on! a,a, a...");
}
}
好吧,你已经流口水了,一口价成交,然后带回家,迫不及待实践一下,代码体现为:
main(){
Person you = new Person();
Chongqiwawa wawa = new USAWawa();
you.setWawa(wawa);
you.makeLove();
}

这时候你已经可以和娃娃水乳交融了。不久,你发觉厌倦了美国娃娃,想试下日本娃娃,再次来到成人超市,日本娃娃makeLove功能实现如下:
class JapanWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " yemede! a,a, a...ganbade...");
}
}
OK,你直接丢下一堆钞票一句不用找就抱回家了,马上进入主题:

main(){
Person you = new Person();
//获得实际的wawa
Chongqiwawa wawa = new JapanWawa();
you.setWawa(wawa);
you.makeLove();
}
看见了吗,只需改动一行代码,你就实现了娃娃的切换,得到不同的makeLove感受,其他代码都不用改。

OK,停止 YY,回到主题。
这里的Chongqiwawa 对应于 ActionListener,你要实现actionListener接口就相当于实现一个美国娃娃或日本娃娃,然后你addActionListener,就相当于给系统提供一个wawa,系统只要在产生相应事件时调用接口的actionPerformed方法,就相当于你在饥渴时调用makeLove方法,你知道有这个方法即可,不用关心他是哪来的和怎么实现的。
cocoyoona的主页 cocoyoona | 初学一级 | 园豆:20
提问于:2016-04-18 15:39
< >
分享
最佳答案
1

话糙理不糙

奖励园豆:5
风醉 | 小虾三级 |园豆:1197 | 2016-04-18 15:44

让你上镜

cocoyoona | 园豆:20 (初学一级) | 2016-04-18 15:45

@眉间剪水泛千愁: ....

风醉 | 园豆:1197 (小虾三级) | 2016-04-18 15:47

@眉间剪水泛千愁: 你这样人家会认为这段是我写的,事实我只是吃爆米花围观的

风醉 | 园豆:1197 (小虾三级) | 2016-04-18 15:48

@风醉: 不是你告诉我的么

cocoyoona | 园豆:20 (初学一级) | 2016-04-18 15:50

@眉间剪水泛千愁: 这辈子还没看过活的CQWW

风醉 | 园豆:1197 (小虾三级) | 2016-04-18 15:54

@风醉: CQWW?

cocoyoona | 园豆:20 (初学一级) | 2016-04-18 15:59
其他回答(2)
-1

题主就是来卖娃娃的...

爱编程的大叔 | 园豆:30844 (高人七级) | 2016-04-18 15:45

黑我!!

支持(0) 反对(0) cocoyoona | 园豆:20 (初学一级) | 2016-04-18 15:45
1

我猜。写这个东西的人。。肯定买过、不要问我怎么知道的

Ctrl` | 园豆:3317 (老鸟四级) | 2016-04-18 15:46

还是你有经验

支持(0) 反对(0) cocoyoona | 园豆:20 (初学一级) | 2016-04-18 15:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册