我的理解是:
抽象类是 is-a,接口是 has a,java 可以多继承,但是只能实现一个接口
一般在项目中如果多个类都有用到共同的方法( A ),并且不同类这个方法( A )的实现不同,我会抽象出一个抽象类
然后多个子类继承它,子类各自重写这个方法的逻辑(好像这边也可以用接口实现???)
当这些子类有共同的方法实现( B ),只能用抽象类,因为接口不能有方法实现。
但是 java8 支持接口方法实现,那么是不是除了类可以多继承,接口只能实现一个这个区别外
接口可以完全代替抽象类了?
谢谢~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.