Java接口的妙用
2008-01-05 10:46:24 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

核心提示:要害字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());
}
更多精彩
赞助商链接