java抽象类与接口的区别及用法

java抽象类与接口的区别及用法

一、抽象类里面的方法可以有实现,但是接口里面的方法确是只能声明。

二、接口是设计的结果 ;
抽象类是重构的结果 。

三、java不支持多重继承,所以继承抽象类只能继承一个,但是可以实现多个接口。

1. 接口是核心,其定义了要做的事情,包含了许多的方法,但没有定义这些方法应该如何做。
2. 如果许多类实现了某个接口,那么每个都要用代码实现那些方法
3. 如果某一些类的实现有共通之处,则可以抽象出来一个抽象类,让抽象类实现接口的公用的代码,而那些个性化的方法则由各个子类去实现。
所以,抽象类是为了简化接口的实现,他不仅提供了公共方法的实现,让你可以快速开发,又允许你的类完全可以自己实现所有的方法,不会出现紧耦合的问题。
应用场合很简单了
1. 优先定义接口
2. 如果有多个接口实现有公用的部分,则使用抽象类,然后集成它。

上一篇:解决:warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;找到 MSIL .netmodule 或使用 /GL 编译的模块;正在。。;LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/LTCG”规范)


下一篇:AQS源码深入分析之共享模式-你知道为什么AQS中要有PROPAGATE这个状态吗?