• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java接口的妙用_java

java 搞代码 7年前 (2018-08-06) 167次浏览 已收录 0个评论

彭建雄

说明

一气之作,文字功夫太差请大家谅解,希望能对研究COM的朋友带点帮助

接口功能介绍

1、‘纯’抽象类的实现(参见java编程思想P/153)

http://www.gaodaima.com/64834.htmljava接口的妙用_java

// 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());

  }

欢迎大家阅读《java接口的妙用_java》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java接口的妙用_java

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址