谁能给出一个简单的关于接口开发的程序例子(主要是想理解一下思路),谢了!

flingstar 2008-03-11 02:58:57
谁能给出一个简单的关于接口开发的程序例子(主要是想理解一下思路),谢了!
...全文
304 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
DaemonChen 2008-03-15
  • 打赏
  • 举报
回复
接口(interface)
1、接口的定义:接口从本质上说是一种特殊的抽象类。
*关键字interface。
*在接口中,所有的方法为公开、抽象的方法:public abstract修饰(可省略)。
*在接口中,所有的属性都是公开、静态的常量:public static final修饰(可省略)。
*接口与接口之间可以多继承。
*接口中没有构造方法,不能用“new 接口名”来实例化一个接口,但可以声明一个接口。
2、接口的实现
*关键字implements。
*一个类实现一个接口必须实现接口中所有的方法,否则其为抽象类,并且在实现类中的方法要加上public(不能省略)。
1)类中的默认修饰符:default。
2)接口中的默认修饰符:public。
*一个类除了继承另一个类外(只能继承一个类),还可以实现多个接口(接口之间用逗号分隔)。
3、接口的作用
*间接实现多继承:用接口来实现多继承并不会增加类关系的复杂度。因为接口不是类,与类不在一个层次上,是在类的基础上进行再次抽象。
*接口可以抽象出副类型(次要类型),分出主、次关系类型,符合看世界的一般方法。
*接口隔离,与封装性有关(该隐藏的隐藏)。一个对象都有多个方面,可以只展示其中几个方面,其他的都隐藏。因此可以看为“更高层次的封装”,把一个大接口做成若干个小接口。
*通过接口制定标准(最重要的作用)
$接口:制定标准。
$接口的调用者:使用标准。
$接口的实现类:实现标准。
#解耦合作用:把使用标准和实现标准分开,使得标准的制定者和实现者解除偶合关系,具有极强的可移植性
例:sun公司提供一套访问数据库的接口(标准),java程序员访问数据库时针对数据库接口编程。接口由各个数据库厂商负责实现。
#接口回调:
4、接口编程的原则
*尽量针对接口编程(能用接口就尽量用接口)
*接口隔离原则(用若干个小接口取代一个大接口)
liu2972505 2008-03-15
  • 打赏
  • 举报
回复
顺便问一下 用接口有什么好处啊?
JavaNoob 2008-03-15
  • 打赏
  • 举报
回复
接口主要是强制定义一套规则,任何声称自己可以遵守这一规则的人,你都可以毫无疑问地要求他帮你做规则说可以做的事情。

比如说现在有3个人:老板(调用者)、程序员甲、程序员乙
老板想找个会做JSP和RCP的JAVA程序员,而程序员甲和程序员乙都说自己会做JSP和RCP,情况就是:

class 程序员甲 implements 会做JSP和RCP
{
public void 做JSP(){}
public void 做RCP(){}

public void 扫地(){}
}

class 程序员乙 implements 会做JSP和RCP
{
public void 做JSP(){}
public void 做RCP(){}

public void 煮饭(){}
}


现在老板想找一个会JSP和RCP的程序员,找甲或乙都没所谓,反正他们都声称自己会JSP和RCP,任何声称了自己会做JSP和RCP的人,都能完成老板的要求,也就是说,老板关心的是他找的人会做JSP和RCP就行,又再也就是说,任何声称会JSP和RCP的人都合要求,也就是说,甲不行他就换乙,乙不行他就换个其他人,只要会做JSP和RCP。

这个“会做JSP和RCP”就是一个接口:
interface 会做JSP和RCP
{
public void 做JSP();
public void 做RCP();
}
365810247 2008-03-15
  • 打赏
  • 举报
回复


public interface TestInterFaces {

public void doA();

public void doB();

}

///////////////////////////////////////////////////

public interface TestInterFaces2 {

public void doE();
public void doF();

}

//////////////////////////////////////////////////////

public class test1 implements TestInterFaces ,TestInterFaces2{

public test1() {

}

public void doA() {

System.out.println("test1 doA");

}

public void doB() {

System.out.println("test1 doB");

}

public void doC() {

System.out.println("test1 doC");
}

public void doE() {

System.out.println("test1 doE");
}

public void doF() {

System.out.println("test1 doF");
}

}

//////////////////////////////////////////////////////////////////

public class test2 implements TestInterFaces {

public test2() {

}

public void doA() {
System.out.println("test2 doA");

}

public void doB() {
System.out.println("test2 doB");

}

public void doD(){
System.out.println("test2 doC");
}

}

/////////////////////////////////////////////////////////////





网络咖啡 2008-03-15
  • 打赏
  • 举报
回复
可以看看设计模式里面的监听器模式,里面用到了接口的设计
hoszone 2008-03-15
  • 打赏
  • 举报
回复
spring里对接口利用可以说是相当的多了.
fys249931556 2008-03-14
  • 打赏
  • 举报
回复
楼主有什么不明白的??
你就写呗。就跟你上边写的就行。。
写一个接口,随便找一个类实现下就行了。
一般来说,你做些小东西不怎么用接口。。

public interface WpsklInterFace
{
public void print();
}

public class WpsklTestInterFace implements WpsklInterFace
{
public void print()
{
}
public static void main(String[] args)
{
System.out.println("hello!");
}
}

flingstar 2008-03-14
  • 打赏
  • 举报
回复
有人帮忙吗?
flingstar 2008-03-11
  • 打赏
  • 举报
回复
就是涉及到接口的开发......具体我也说不清楚,因为我是刚学,不懂,所以才来发问~~
类似于这样的:
...


interface aa{
...
}
class bb implements aa{
...
}


...
gongyali2005 2008-03-11
  • 打赏
  • 举报
回复
李兴华有一个用DAO做的登陆视频.你可以下载下来看看.
WWW.MLDN.CN
nihuajie05 2008-03-11
  • 打赏
  • 举报
回复
8明白题意

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧