首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

怎么理解java中的接口和抽象类

2012-09-05 
如何理解java中的接口和抽象类抽象类与接口的区别?抽象类体现的是一种继承关系,可以理解为“是什么”;接口体

如何理解java中的接口和抽象类

抽象类与接口的区别

?

抽象类体现的是一种继承关系,可以理解为“是什么”;接口体现的是一种实现关系,可以理解为“实现了什么”。

?

类中如果有一个方法是抽象的,则这个类就是抽象类。抽象类中也可以有具体方法。如果抽象类被继承,则这个类中的抽象方法必须被覆盖。而接口中的方法必须都被实现,而且方法是没有实现的,都是空方法,是完全抽象的,它们默认都是抽象方法。可以说,接口是抽象类的一个特例。

?

以下摘自网络:

答:首先,接口和抽象类都是抽象方法和常量的集合;抽象类是是要设计者依据它的格式来修改并创建新的类。

其次,接口里的数据成员必须初始化,且数据成员均为常量;接口里方法必须全部声明为adstract,也就是说,接口不能像抽象类一样保有一般的方法,必须全部都是“抽象方法”。因为所有的接口都是抽象类,所以不用abstract public来定义,而且抽象类不能被实例化,所以接口也不能被实例化.抽象类是不能生成对象的,一个抽象类包含的不一定都是抽象函数,但是接口中的函数一定都是抽象的。在子类继承父类时,抽象类用的是extends;接口用的是implements. 含有抽象方法的类必须被声明抽象类,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。从本质上讲,接口就是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。

?? 总之,从定义、规则和本质上,抽象类和接口都是不同的。

热点排行