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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 流浪的风 中级黑马   /  2013-9-24 07:52  /  1666 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 流浪的风 于 2013-9-24 09:58 编辑

抽象类有构造函数,是用于给子类实例化,那接口有没有构造函数?

7 个回复

倒序浏览
接口不允许实例化,没有构造函数
回复 使用道具 举报
接口内只能有抽象方法,静态常量 不能有构造方法。
抽象类中可以有实例方法和抽象方法,必须有构造方法,即使你不主动些构造方法,系统也给自动给你加上无参数空构造 。
假设,接口能定义构造方法,不论抽象或非抽象。
现有两个接口A B,现在假定 A 定义:实现该接口的所有类,必须有一个带Object参数的构造方法;同时,B 定义:实现该接口的所有类,必须有一个带有Object参数的构造方法。当一个类C,同时实现接口A B,这个时候,C应该满足两个要求,有一个带Object参数的构造函数以实现A中的方法,同时有另一个带Object参数的构造函数实现B中的方法。一个类中,不可能存在两个同名的,且参数一致的方法。
于是,假设不成立。
接口没有构造函数

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 很详细,赞一个

查看全部评分

回复 使用道具 举报
接口是用来实现的,以提高扩展性,覆盖其方法即可
回复 使用道具 举报
首先,你要想到接口里面的方法全是抽象方法,假如有构造函数的话 那么它就可以new 对象,我们知道它是不可以new 对象的 ,只能由之类去实现,并覆盖里面的所有的抽象方法。所以他不可能有构造函数。
回复 使用道具 举报
接口中只能存在抽象方法,和静态变量,和静态常量,不允许出现构造器
回复 使用道具 举报
接口是没有构造方法的,因为接口里所有的方法都是抽象的,如果要实现接口必须全部实现里面的抽象方法才可以,所谓构造函数在接口中是不存在的。
回复 使用道具 举报
乔兵 高级黑马 2013-9-24 09:34:12
8#
如果问题已经解决,请重新编辑帖子,修改帖子的主题分类为“已解决”{:soso_e181:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马