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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一蓑烟雨任平生 中级黑马   /  2012-3-20 11:47  /  7218 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口可以有构造函数吗?

5 个回复

倒序浏览
想了几个接口中不能定义构造器的理由:
1. 构造器用于初始化成员变量,接口没有成员变量
2. 类可以实现多个接口,若多个接口都有自己的构造器,则不好决定构造器链的调用次序
3. 构造器是属于类自己的,不能继承。因为是纯虚的,接口不需要构造器。
回复 使用道具 举报
接口继承和实现继承的规则不同,一个类只有一个直接父类,但可以实现多个接口。
  Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。
  Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。
  接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的接口把方法的特征和方法的实现分割开来。这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。
回复 使用道具 举报
不可以有构造函数。
Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。
Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public,静态的和final属性。
回复 使用道具 举报
从设计上说
接口是纯粹的抽象类,定义的是一种规范,是一种标准。
你可以实现这种规范,但不能说你是这种规范。
从语法上说
接口它里面的方法都是抽象的方法这是规定好了的。
构造方法有下面的两个作用:
1、创建对象
2、初始化
此刻,第一点你要弄明白的是构造方法也是一种方法,但是它是一种特殊的方法。
接口中要求所有的方法必须是抽象方法,而构造方法可以有方法体,构造方法就不可以在接口中出现。
回复 使用道具 举报
接口内只能有抽象方法,和静态常量 不能有构造方法。
抽象类中可以有实例方法和抽象方法,必须有构造方法,即使你不主动些构造方法,系统也给自动给你加上无参数空构造
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马