Java中接口的概念?

yyb63915 2004-08-27 11:49:56
Java中接口与类的关系,及应用
...全文
832 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
weimenren 2004-08-28
  • 打赏
  • 举报
回复
这个东西你仔细一点看interface的定义可能比较好些

一般来说,接口就像一个有一些限制的类,接口所有的方法必须是抽象的实例方法,所有的变量必须是static final,一般来说接口定义常量。 为了报答这些约束,接口有一些类没有的特征,如:他们可以多重继承,一个类只能继承一个超类的方法和变量然而一个类可以实现多个接口,一个接口定义哪些方法可以在外部看到。这就是说,他不关心你如何实现他们,而相反一个类一般有一些缺省得实现。所有的方法在接口中都必须声明为public和abstract。所有的接口的变量必须是常量,他们含蓄的声名为public static final。
QSmile 2004-08-28
  • 打赏
  • 举报
回复
shine333(enihs)
的说法有一定的道理
shine333 2004-08-27
  • 打赏
  • 举报
回复
经典一点的例子,涉及接口,抽象类,类

interface Flyable {
public void fly(); //飞
}

interface FuelReliable {
public void fuel(); //加油
}

abstract class Bird implements Flyable {
//这里定义一些鸟的共性,比如会名叫啦,有羽毛,翅膀啦,会生蛋啦
protected Wing wings;

public abstract void call();
}

abstract class Aircraft implements Flyable, FuelReliable {
//飞行器应该都有发动机油箱吧
protected Engine engine;
protected FuelTank fuelTank;

}

class Sparrow extends Bird {
public void call() {
//麻雀怎么叫来着?
}

public void fly() {
//当然是煽动翅膀
wings.xxx();
}
}

class Penguin extends Bird {
public void call() {
//企鹅怎么叫来着?
}

public void fly() {
//你见过会飞的企鹅?
throw new UnsupportedMethodException();
}
}

class Boeing747 extends Aircraft {
public void fly() {
if (fuelTank.empty()) {
fuel(); //油箱空了,要加油
}

engine.start(); //启动发动机
......
}

public
}
shine333 2004-08-27
  • 打赏
  • 举报
回复
JDK中很多的接口都是以able/ible结尾的,从这个名字上大家应该可以看出,接口表示它(实际上是实现它的类)“能够”干一类事情。而具体怎么做就因人而异。
vitamines 2004-08-27
  • 打赏
  • 举报
回复
又学到了好多
runningww 2004-08-27
  • 打赏
  • 举报
回复
接口和抽象类的最大区别就是:抽象类必须要继承以后并且实现其中的所有抽象的方法才能使用,而接口就不需要继承,只要实现抽象方法就行了。
blasterboy 2004-08-27
  • 打赏
  • 举报
回复
很难说清楚这种东西,接口就是一个类应该符合的各种规范
andy_zhang_ping 2004-08-27
  • 打赏
  • 举报
回复
接口是一种特殊的抽象类,抽象类就是只声明方法而不去实现,交给其子类去实现
接口里也只声明方法而不实现,它相当于是方法和常量的集合!
haode 2004-08-27
  • 打赏
  • 举报
回复
这个问题建议你去找一本Java语言的书来看看,里边讲的肯定比你在这里问到的详细。

接口实际上就是一个抽象类,只不过它只包含常量和方法定义,没有变量和方法实现。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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