关键字
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());
}
闽公网安备 35060202000074号