黑马程序员技术交流社区

标题: 为什么抽象类可以有构造方法呢? [打印本页]

作者: 94651417    时间: 2017-4-22 09:38
标题: 为什么抽象类可以有构造方法呢?
既然接口和抽象类都不能被实例化,那为什么抽象类可以有构造方法,而接口却没有呢?构造方法不就是用来创建对象的吗?

作者: Manito    时间: 2017-4-22 11:36
接口是比抽象类更抽象的抽象类,进一步的抽取共性。所以接口全是抽象方法

作者: conyzz    时间: 2017-4-22 12:00
抽象类中的构造方法不是给自己用的,而是给继承它的子类用的,来初始化子类对象的

作者: zeng1002    时间: 2017-4-23 00:51
因为接口实际上是一种方法的抽取,重点在于重写,接口是一种实现,不是继承,而继承是需要调构造方法进行初始化的。

作者: DreamBoyMrsLin    时间: 2017-4-23 23:53
因为抽象类中不是全是抽象方法,
作者: 94651417    时间: 2017-4-25 22:37
zeng1002 发表于 2017-4-23 00:51
因为接口实际上是一种方法的抽取,重点在于重写,接口是一种实现,不是继承,而继承是需要调构造方法进行初 ...

懵懵懂懂

作者: 94651417    时间: 2017-4-26 07:20
conyzz 发表于 2017-4-22 12:00
抽象类中的构造方法不是给自己用的,而是给继承它的子类用的,来初始化子类对象的
...

貌似有点道理哟

作者: dawnxx    时间: 2017-4-26 17:16
因为接口中只能有静态常量,且方法全部是抽象方法,由实现类来实现具体功能;而抽象类中可以有域变量,可以有具体的方法,可以调用抽象方法。
作者: 迪卡bas    时间: 2017-4-26 22:58
抽象类中的构造函数是给抽象类中的非抽象方法用的,然而接口中没有非抽象方法,所以接口没有构造方法.
作者: 痛的消去反应    时间: 2017-4-26 23:24
因为抽象类中可以有非抽象方法,其构造方法是为这些非抽象方法而保留的,这样以来保留了Java的可扩展性和灵活性
作者: 剑桥子卿卿    时间: 2017-4-26 23:46
这问题是就业班里的吗

作者: 13716326405    时间: 2017-4-27 07:44
抽象类中不一定全是抽象方法,有抽象方法必然是抽象类.  抽象类中的构造方法,就是给那些不是抽象方法的方法使用的.                                                        大家集思广益,问题就能更清晰一点,新手的我,学习了.
作者: 654788808    时间: 2017-4-27 08:38
学习了!!!!!!!!!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2