java介面的妙用 (轉)

worldblog發表於2008-01-28
java介面的妙用 (轉)[@more@] 

介面的妙用

  彭建雄

關鍵字:namespace prefix = o ns = "urn:schemas--com::office" />

,interface

說明

一氣之作,文字功夫太差請大家諒解,希望能對研究COM的朋友帶點幫助

介面功能介紹

1、‘純’抽象類的實現(參見JAVA思想P/153)

// Interface1.java 介面只負責描述自己的樣子“對於實現我的所有的類,看起來都應該象我這個樣子。我所有的方法,實現類都必須有!”

public interface Interface1 {

  public void setS(String str);

  public String getS();

  public void ShowMessage(String MSG);

}

=====================================================================

// ClassItf.java  “介面只是一個非常‘純‘的抽象的東西,你的實現程式碼都在我這裡!”

public class ClassItf implements Interface1{

  public String S = "";

  public ClassItf() {

  }

  public void ShowMessage(String MSG)

  {

   System.out.print(this.getClass().getName()+"====="+MSG+"====by Interface1n/");  }

  public void setS(String str)

  {

  S = str;

  }

  public String getS()

  {

  return S;

  }

}

2、多重繼承的實現(參見JAVA程式設計思想P/155)

//Interfase2.java  介面的樣子

public interface Interface2 {

  public void ShowMessage2(String MSG);

}

 

// ClassItf.java 加入多重繼承後的ClassItf 灰底為加入更改、插入行

public class ClassItf implements Interface1,Interface2{

  public String S = "";

  public ClassItf() {

  }

  public void ShowMessage(String MSG)

  {

  System.out.print(this.getClass().getName()+"====="+MSG+"====by Interface1n/");

  }

  public void setS(String str)

  {

  S = str;

  }

  public String getS()

  {

  return S;

  }

  public void ShowMessage2(String MSG)

  {

  System.out.print(this.getClass().getName()+"====="+MSG+"====by Interface2n/");

  }

}

呵呵!我的多重繼承功能在JAVA中有著大量的應用如:

public class JFrame  extends Frame implements WindowConstants, Accessible, PaneContainer

3、外觀與實現分離

// ClassItf.java  “介面只是一個非常‘純‘的抽象的東西,你的實現程式碼都在我這裡!”

public class ClassItf implements Interface1,Interface2{

os 10800 @4">

 

  public String S = "";

  public ClassItf() {

  }

  public void ShowMessage(String MSG)// 實現了介面‘Interface1’ShowMessage

  {

  System.out.print(this.getClass().getName()+"====="+MSG+"====by Interface1n/");

   }

  public void setS(String str) //實現了介面‘Interface1’setS

 

  {

  S = str;

  }

  public String getS()//實現了介面‘Interface1’getS

 

 

  {

  return S;

  }

  public void ShowMessage2(String MSG)// 實現了介面‘Interface2’ ShowMessage2

  {

  System.out.print(this.getClass().getName()+"====="+MSG+"====by Interface2n/");

  }

}

 

4、提供的影子

 public void ShowMessage(Interface1 req)

  {

  req.ShowMessage("111");

  }

  public void ShowMessage2(Interface2 req)

  {

  req.ShowMessage2("111");

  }

 

  void jButton1_actionPerformed(ActionEvent e) {

  private ClassItf C1 = new ClassItf();

  ShowMessage(C1);

  ShowMessage2(C1);

  }

同樣呀,我的應用也非常的廣呀!

比如在的

public void doPost(HttpServletRequest request,HttpServletResponse response)

public void doGet(HttpServletRequest request,HttpServletResponse response)

HttpServletRequest ,HttpServletResponse我的應用!

其它如:

事件Listen呀:

public void addActionListener(ActionListener l)

Observer呀!

 

5、透過介面實現引用傳遞

  public void SetS1(Interface1 req)

  {

  req.setS("New Value with C1");

  }

  public void SetS2(ClassNoitf req)

  {

  req.setS("New Value with C2");

  }

 

  void jButton3_actionPerformed(ActionEvent e) {

  ClassItf C1 = new ClassItf();

  ClassNoitf C2 = new ClassNoitf();

  //Set C1

  SetS1(C1);

  //Set C2;

  SetS2(C2);

  //Get Value

  System.out.print(C1.getS());

  System.out.print(C2.getS());

  }

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-998634/,如需轉載,請註明出處,否則將追究法律責任。

java介面的妙用 (轉)
請登入後發表評論 登入
全部評論

相關文章