Java为例理解接口

这里有个很通俗的理解:
你要一个充气娃娃,这个充气娃娃有一个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那个,就可以这样用了:

void 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..."); 
  }
}

好吧,你已经流口水了,一口价成交,然后带回家,迫不及待实践一下,代码体现为:

 void 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,你直接丢下一堆钞票一句不用找就抱回家了,马上进入主题:

 void main(){
  Person you = new Person();
  //获得实际的wawa
  Chongqiwawa wawa = new JapanWawa();
  you.setWawa(wawa);
  you.makeLove();
}

看见了吗,只需改动一行代码,你就实现了娃娃的切换,得到不同的makeLove感受,其他代码都不用改。
这就是接口!

推荐阅读更多精彩内容

  • 其一: 偷懒 偷不是好事, 懒也是毛病, 可偷懒, 每个人都会。 其二 长短 一天24小时, 年少时总觉得漫长无际...
    乡下童姥阅读 266评论 13 9
  • Day12周二20160105 今天一整天都泡在了自修室,中午也没有回去,让同学吃完饭打包过来。明天就要考试了,然...
    浅格调阅读 135评论 0 0
  • 赵昂《洞见》交流会笔记2 变化:发现了爱好,写作。生活的体验和感受需要记录,否则会在记忆中消逝。 认命,热情,舍得...
    八足怪阅读 204评论 0 0
  • 2017年的岁月不知不觉中已经只留下一丁点儿尾巴。街上张灯结彩,商铺里人声鼎沸,一派喜气洋洋的喜迎新年的气象。 大...
    杏林煮酒阅读 193评论 0 4