Java-Abstract Class 和 Interface 的使用?

WP主题Bug提交 WP主题Bug提交 主题:1067 回复:2226

Java-Abstract Class 和 Interface 的使用?

灵芸 发布于 2017-04-27 字数 113 浏览 1106 回复 5

在写程序的过程很少使用 Abstract 和 Interface 。
想知道大家平时用得多吗? 一般都在什么情况下使用。。。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(5

清晨说ぺ晚安 2017-10-16 5 楼

抽象类和接口还是经常用的,特别是在大型复杂的系统中。
(1)抽象类与接口的区别
抽象类中可以有不抽象的方法,接口中全是抽象的方法
抽象类用extends继承,接口用implements实现
抽象类中的变量和方法没有默认修饰符,接口中的变量默认为public static final的,接口中的方法默认为public abstract,一个类只能继承一个抽象类,一个类可以实现多个接口
(2)什么时候使用抽象类,什么时候使用接口
如果能用接口,就不用抽象类,因为别人实现接口可以不占用继承的位置。
如果定义一个抽象的父类,其中所有方法都是抽象的,那么就定义为接口。
如果定义一个抽象的父类的时候,需要有不抽象的方法,那么只能定义为抽象类。

归属感 2017-10-04 4 楼

一般来说扩展关心的是衍化, 就是对现有组件的重用和演进; 而接口关心的是功能, 可以理解为功能的声明. 它们都是一种抽象方式, 只是关注点不同.

浮生未歇 2017-06-02 3 楼

抽象类一般用于"is a(是一个)"关系,接口一般用于"like a(像一个)"的关系.

如果几个对象有一些需要共同享有的方法,那么一定得用抽象类,把这些相同的部分放在抽象类里,以后只要一改变抽象类的方法,子类的相应方法就都改变了.但如果不是这种情况,优先考虑接口吧.

晚风撩人 2017-05-19 2 楼

差别不大吧,需要多重继承时 用 Interface ; 不需要多重继承,单继承就能满足时,可以Abstract Class 也可以Interface 吧

清晨说ぺ晚安 2017-04-28 1 楼

多看看设计方面的书你就会发现,好多东西都是用abstract和interface去实现的