您的位置:首页 > 其它

关于抽象类和接口

2012-11-17 19:06 204 查看
首先从定义出发了解一下抽象方法和抽象类。

java中提供一种叫抽象方法的机制,这种方法是不完整的,仅有声明没有方法体

如:abstract void method();

包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的(否则编译会报错)。

如:abstract class intrument() {

abstract void play();

}

当然,我们也可以创建一个没有任何抽象方法的抽象类。但通常情况下会让包含的方法没有了实际意义

interface是一个完全抽象类,它根本就没有提供任何具体的实现,它允许确定方法名,参数列表和返回值类型,却是没有任何方法体。

接口只是提供了形式,没有提供任何具体实现。

如: interface Instrument() {

void play();

}

interface不仅是一个极度抽象的类,因为它允许人们通过创建换一个能够向上转型的为多种基类的类型,来实现某种雷系多重继承变种特性。

接口中可以显示将方法声明为public的,但即使你不这样做,他们也是public的。也就是说,在接口中定义的方法必须肯定是public的!

同时接口也可以包含域,但是这些域隐示的都是static 和final的!

待续。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: