开发学院WEB开发Jsp Java接口的妙用 阅读

Java接口的妙用

 2008-01-05 10:46:24 来源:WEB开发网   
核心提示:要害字java,interface说明希望能对研究COM的朋友带点帮助接口功能介绍1、‘纯’抽象类的实现(参见JAVA编程思想P/153)// Interface1.java 接口只负责描述自己的样子“对于实现我的所有的类,看起来都应该象我这个样子,Java接口的妙用,我所有的方法,实现类都必须有!”public in

  要害字
  
  java,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, RootPaneContainer
  
  3、外观与实现分离
  
  // ClassItf.java “接口只是一个非常‘纯‘的抽象的东西,你的实现代码都在我这里!”
  
  public class ClassItf implements Interface1,Interface2{
  
  
  
   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);
  
   }
  
  同样呀,我的应用也非常的广呀!
  
  比如在Servlet的
  
  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());
  
   }

Tags:Java 接口 妙用

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接