A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

既然接口和抽象类都不能被实例化,那为什么抽象类可以有构造方法,而接口却没有呢?构造方法不就是用来创建对象的吗?
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端

12 个回复

正序浏览
学习了!!!!!!!!!!!
回复 使用道具 举报
抽象类中不一定全是抽象方法,有抽象方法必然是抽象类.  抽象类中的构造方法,就是给那些不是抽象方法的方法使用的.                                                        大家集思广益,问题就能更清晰一点,新手的我,学习了.
回复 使用道具 举报
这问题是就业班里的吗
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
因为抽象类中可以有非抽象方法,其构造方法是为这些非抽象方法而保留的,这样以来保留了Java的可扩展性和灵活性
回复 使用道具 举报
抽象类中的构造函数是给抽象类中的非抽象方法用的,然而接口中没有非抽象方法,所以接口没有构造方法.
回复 使用道具 举报
dawnxx 初级黑马 2017-4-26 17:16:28
8#
因为接口中只能有静态常量,且方法全部是抽象方法,由实现类来实现具体功能;而抽象类中可以有域变量,可以有具体的方法,可以调用抽象方法。
回复 使用道具 举报
conyzz 发表于 2017-4-22 12:00
抽象类中的构造方法不是给自己用的,而是给继承它的子类用的,来初始化子类对象的
...

貌似有点道理哟
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
zeng1002 发表于 2017-4-23 00:51
因为接口实际上是一种方法的抽取,重点在于重写,接口是一种实现,不是继承,而继承是需要调构造方法进行初 ...

懵懵懂懂
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
因为抽象类中不是全是抽象方法,
回复 使用道具 举报
因为接口实际上是一种方法的抽取,重点在于重写,接口是一种实现,不是继承,而继承是需要调构造方法进行初始化的。
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
抽象类中的构造方法不是给自己用的,而是给继承它的子类用的,来初始化子类对象的
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
接口是比抽象类更抽象的抽象类,进一步的抽取共性。所以接口全是抽象方法
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马