`

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那个,就可以这样用了:

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方法,你知道有这个方法即可,不用关心他是哪来的和怎么实现的。



 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics