java接口的妙用

原创 2001年10月17日 09:29:00
 

接口的妙用

                                            彭建雄

关键字<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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{

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

  public String S = "";

  public ClassItf() {

  }

  public void ShowMessage(String MSG)// 实现了接口‘Interface1ShowMessage

  {

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

 
  }

  public void setS(String str) //实现了接口‘Interface1setS

 

  {

    S = str;

  }

  public String getS()//实现了接口‘Interface1getS

 

 

  {

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

  }

 

golang系列----接口使用技巧(interface)

golang中的interface是什么 Go不是一种传统的面向对象的语言,它在语法上不支持类和继承的概念,而interface就是让它在效果上实现了类似于C++的“多态”概念。 由于本篇文章主要是...
  • DB_water
  • DB_water
  • 2018年01月15日 20:13
  • 27

java监听事件“接口的妙用”

研究了一下swing,对按钮监听事件好奇,于是自己做了一个监听的最简单案例 1,接口 package com.cxc; public interface ReturnListener { publ...
  • xqxqwps
  • xqxqwps
  • 2015年12月04日 08:29
  • 365

Java基础之枚举妙用

对于枚举,初学Java的时候可能我们就已经接触过了,但是在毕业前,其实一直都不知道真正工作里面枚举是怎么用的,枚举有什么用?接下来,博主就介绍枚举在实际工作中的一种使用场景,本文只适合初级的小菜鸟看哈...
  • u013142781
  • u013142781
  • 2016年01月06日 19:00
  • 4070

C#接口详细解释和用法(通俗易懂)

C#接口详细解释和用法(接口用法) using System; /// /// 创建一个获取字符串数据的接口 /// /// interface IGe...
  • shine78
  • shine78
  • 2012年11月03日 18:22
  • 565

Java静态代码块的妙用

静态代码块优先于主方法执行,那么就可以直接使用静态代码块而bushiyong
  • qjm19931124
  • qjm19931124
  • 2014年07月19日 10:33
  • 359

接口的妙用

在dao里面全是关于数据库的函数,只有纯粹的增改删查这类的方法。 但是我运行程序的时候,我还想做一些有特性的方法。这个时候,难道我要在dao里面改吗?答案是“肯定不行”,因为这样就污染了dao的代码...
  • olenet
  • olenet
  • 2013年10月16日 16:08
  • 416

二进制转换及在java中的运用

十进制转二进制:短除法 例:十进制57转二进制 除数 商 余数 2/57 28 1 2/28 14 0 2/14 7 0 2/7 3 1 ...
  • qq_36184009
  • qq_36184009
  • 2017年02月27日 16:17
  • 210

java中接口的妙用(一)

java中接口的妙用: 本例. 接口作为参数,将调用者和实现彻底分离。 实例: 1). IEvent.java: package com.myjava.test; publi...
  • liranke
  • liranke
  • 2014年08月27日 20:31
  • 1790

js与(&&)或(||)运算符妙用

初次见到这样语句var a=a || []  你认为他们是实现什么功能呢?下面简单说明这段代码的作用。   1.逻辑或运算符||: 当运算符||的两个运算数都是布尔值,它对这两个运算...
  • lwj734114646
  • lwj734114646
  • 2017年01月04日 14:01
  • 271

Java选项卡(JTabbedPane)的使用

Java选项卡的简单介绍
  • NDHuaErFeiFei
  • NDHuaErFeiFei
  • 2016年12月22日 20:11
  • 751
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java接口的妙用
举报原因:
原因补充:

(最多只允许输入30个字)