java的接口有什么作用?

ggggosling 2004-09-02 05:55:50
interface的问题我一直不明白它到底有什么用,它定义了抽象方法,可是在实现它的类里不是都要重新写这些方法和方法实体的吗?我想来想去觉得这个东西不是多此一举,不要接口,直接在类里定义好了方法和方法实体不就可以了?
有人说这是一种规范,是不是这样啊!请问我应该怎样学习接口?
...全文
339 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongkongye 2004-09-02
  • 打赏
  • 举报
回复
万事万物皆对象,对于有直接关系的对象之间,可以使用继承来描述共性;对于不同的对象,接口被抽象出来来描述之间的共性。
和继承相比,接口的好处是很多的:接口简洁,不似继承,为了复用,要被迫接受父类的所有东西,付出了很大的代价;接口实现了多重继承。
建议使用接口。
erictang2003 2004-09-02
  • 打赏
  • 举报
回复
接口是最好用也最难用的!一个好的接口需要综合实践思考,
而抽象类中可以直接写一个静态方法然后调用.
bluesky35 2004-09-02
  • 打赏
  • 举报
回复
接口和抽象的不同点,最大的不同在于接口可以实现多重继承,而且接口里的定义必须都是抽象的,而抽象类里可以有被实现的方法。这种概念在面试时经常考到。
dinosaurain 2004-09-02
  • 打赏
  • 举报
回复
当你一个人作东西的时候这个的确没有什么用
因为要什么功能 方法的名字 属性的名字 什么的都是你说了算。

可是。。。
如果是和同事一起开发那?

接口就可以由经理或者项目负责人来制定 由他来同一规划
他只要把每个要实现的类写个接口 你来实现
你就不用考虑和同事交流这些问题了。
smallMage 2004-09-02
  • 打赏
  • 举报
回复
java不支持都多重继承。用接口可以实现多重继承。提高利用效率,
opencsdn 2004-09-02
  • 打赏
  • 举报
回复
多态是一方面,常量定义也是常用的手段
gaozhanhai 2004-09-02
  • 打赏
  • 举报
回复
java中只能有一个继承,而接口却解决了此问题。就像c++中的多继承一样。。。。
  • 打赏
  • 举报
回复
TO mmhhllRen(mhl)
  老兄,你举的例子没有一点是接口的,就是一个virtual多态的演示,楼主要的是接口的应用,而不是多态的。。

^^
charlie0895 2004-09-02
  • 打赏
  • 举报
回复
我建议楼主去看看,java的一些基础书,都会介绍比较详细的,在这里说不清楚
dreamno 2004-09-02
  • 打赏
  • 举报
回复
u can extends only one class but u can implement many interface

smp:thread and runable
ggggosling 2004-09-02
  • 打赏
  • 举报
回复
接口与抽象类的作用有什么区别?
xieyoupu 2004-09-02
  • 打赏
  • 举报
回复
java 不像C++可以有多重继承.
所以java 用接口的 来实现多继承的功能.
interface is very 重要!!!
mmhhllRen 2004-09-02
  • 打赏
  • 举报
回复
1.向上转型。
接口PCI是规范
interface PCI{
void start();
void stop();
}
网卡NetworkCard实现了PCI规范
class NetworkCard implements PCI{
public void start() {
System.out.println("Send...");
}

public void stop() {
System.out.println("Network stop...");
}
}
声卡SoundCard 实现了PCI规范
class SoundCard implements PCI{
public void start() {
System.out.println("Du Du...");
}

public void stop() {
System.out.println("Sound stop...");
}
}
主板可以插实现PCI规范的板卡
class MainBoard{
public void usePCICard(PCI p){
p.start();
p.stop();
}
}
插声卡则调用声卡的start(),stop();查网卡则调用网卡的start(),stop();
class Assembler {

public static void main(String[] args) {
MainBoard mb = new MainBoard();
NetworkCard nc = new NetworkCard();
mb.usePCICard(nc);
SoundCard sc = new SoundCard();
mb.usePCICard(sc);
}
}
还说接口没用吗?
charlie0895 2004-09-02
  • 打赏
  • 举报
回复
由于java不能实现多重继承(和c++)相比,这是为了避免访问的混乱,但又由于需要,一个类可以实现多个接口,这是一种解决问题的方法,在java中,接口是在普遍不过了,其实接口就是特殊的抽象类
treeroot 2004-09-02
  • 打赏
  • 举报
回复
接口是软件复用的基础,接口的合理使用可以使你的程序提高一个档次.
其实我们一直都在用接口,比如Collection,List,Connection,DataSource,ResultSet等等.
dlxu 2004-09-02
  • 打赏
  • 举报
回复
接口非常有用的,以后你做到大型项目就知道了,用来实现多态是一个方面,在使用的时候,只要调用接口的方法,不用管究竟实现这个接口是哪个类,这样你可以很方便对具体的类进行扩展,更新
zhl44 2004-09-02
  • 打赏
  • 举报
回复
可以实现多继承,没有它不能实现事件模型
Drowning 2004-09-02
  • 打赏
  • 举报
回复
记得老师举过例子,但是忘了
Mark一下
黑马 2004-09-02
  • 打赏
  • 举报
回复
我也想知道,一直糊涂中……
austin909 2004-09-02
  • 打赏
  • 举报
回复
可以方便地向上转型以实现代码的重用

62,612

社区成员

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

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