从某网看到,自此惊为天人,特此分享,PS:看完还没懂接口的可以自行切腹了。。。
2015-12-29 12:28
239 查看
接口的含义.
类是对象的抽象,接口抽得更厉害,是类的抽象。不打机锋,直接看尘世的七情六欲。 比如,你要一个充气娃娃,这个充气娃娃有一个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方法,你知道有这个方法即可,不用关心他是哪来的和怎么实现的。
相关文章推荐
- SQL 报错信息整理及解决方案(持续更新)
- 安卓开发之闹钟界面优化和细节修改
- sum() over (order by )
- Android使用Jsoup解析Html表格的方法
- md5加密,jdk7 与jdk8对含有中文的明文加密注意
- 程序员如何谋划出月薪3万
- 全站 HTTPS 来了
- 高手的Blog及ACM好的网站[转]
- 七种降维方法
- [leetcode] 232. Implement Queue using Stacks 解题报告
- UIDatePicker常用属性
- linux sort 命令详解
- 笔记:数组和集合的常用排序
- iOS清除WebView的缓存
- 【C#】 之 out和ref
- 锋友分享:国行和非国行iPhone的送修需知
- Android学习笔记 :自定义HorizontalScrollView实现侧滑菜单
- 网络编程之UDP协议
- 移动AD用户到相应的OU
- 聊天中的小箭头