java中的abstract和interface差异
来源:互联网 发布:js 判断子字符串 编辑:程序博客网 时间:2024/05/22 15:01
这里需要谈到抽象类和Interface的差别,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力,两者的区别如下:
(1)相同点
A,两者都是抽象类,都不能实例化。
B,interface实现类及abstrct class的子类都必须要实现已经声明的抽象方法。
(2)不同点
A,interface实现,要用implements,而abstract class的实现,要用extends。
B,一个类可以实现多个interface,但一个类只能继承一个abstract class。
C,interface强调特定功能的实现,而abstract class强调所属关系。
D,尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interface中的每一个方法都是抽象方法,都只是声明的(declaration, 没有方法体),必须要实现。而abstract class的子类可以有选择地实现。
抽象类的这个选择有两点含义:一是Abastract class中并非所有的方法都是抽象的,只有那些冠有abstract的方法才是抽象的,子类必须实现。那些没有abstract的方法,在Abstrct class中必须定义方法体。二是abstract class的子类在继承它时,对非抽象方法既可以直接继承,也可以覆盖;而对抽象方法,可以选择实现,也可以通过再次声明其方法为抽象的方式,无需实现,留给其子类来实现,但此类必须也声明为抽象类。既是抽象类,当然也不能实例化。
E,interface是完全抽象的,只能声明方法,而且只能声明pulic的方法,不能声明private及protected的方法,不能定义方法体,也不能声明实例变量。
- java中的abstract和interface差异
- Java中的interface和abstract
- JAVA中的abstract 和 interface
- java中的abstract class和interface
- java中的abstract class和interface
- java中的abstract class和interface
- java中的abstract class和interface(1)
- java中的abstract class和interface(2)
- java中的abstract class和interface
- Java中的abstract类和interface
- java中的abstract class和interface
- java中的static、final、abstract和interface
- Java中的Abstract和Interface的区别
- abstract interface和interface中的abstract 方法
- java abstract和interface
- interface,abstract class,abstract interface Java中的接口,抽象类和抽象接口的异同
- java中的abstract与interface
- java中的abstract class和interface (zz from itpub)
- C10K并发连接问题
- 出行领域的新趋势、新科技——也许不必再为驾照难考犯愁了
- 【解决】无法连接 MKS:套接字连接尝试次数太多正在放弃
- java 静态代码块加载配置文件信息 方法2
- 威佐夫游戏 51Nod
- java中的abstract和interface差异
- 为什么会有栈内存和对内存
- 关于自定义空间阻止事件冒泡的解决方案
- 进程后台启动方法
- 学习计划及工作总结
- javascript有限状态机
- ig7icd32.dll加载失败问题求解
- 简单爬虫,爬取书本图片。
- 区间dp