为什么不能在接口中定义构造函数? 接口是一种规范,它要求所有实现了它的类都必须符合这个标准。比如有一个PCI的规范,那么所有的厂家生产出来的网卡,声卡之类的都必须符合规范!接口不是用来实例化的,所以不需要不能在接口中定义构造函数! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 引用Interface这种语法,就是为了更好贯彻接口与实现分离的思想,构造函数属于对象的实现,这就是楼主问的相悖之处。 --------------------------------------------------在接口中声明构造函数,这与OO的理念有何相悖之处?--------------------------------------------------同意楼上.构造函数里提供了实现. 而Interface的就引入就是用来分离接口的实现的. 所以将Interface规定为只允许有接口声明, 不允许有任何实现. 把INTERFACE想成是C++的基类,但是不要在里面实现任何函数的功能。 我只是声明。比方一个接口Ball,FootBall、BasketBall都可以实现它。我觉得应该可以接口中声明一个以半径为参数的构造函数,仅仅是声明而已,并不会实现。就像凡是实现了Runnable的类都必须实现run()函数一样,凡是实现了Ball的类都必须实现一个以半径为参数的构造函数。我并不觉得这与OO理念有相悖之处。 没有interface的语言不照样实现了OO,所以说跟OO不存在悖不悖的问题。 java字符串截取 Java与xml 关于jtree节点的展开 在jsp页面中访问servlet下载内容时,给session赋值后前端取不到的解决办法? 调制解调器编程问题 编辑器如何实现自动提示功能 一道关于类变量初始化的scjp题,不明白结果为什么是3,而且还可以定义两个同名的变量 高手帮忙啊!jfreechart的TimeSeries.add(参数1,参数2)参数1的问题 很简单的JAVAMAIL开发问题,在线等候!!! 大家都在谈Java,但是我都没有见过Java的case 如何开发文档管理系统? java c/s 模式里面,哪里可以找到时间控件?
构造函数属于对象的实现,这就是楼主问的相悖之处。
在接口中声明构造函数,这与OO的理念有何相悖之处?
--------------------------------------------------同意楼上.
构造函数里提供了实现. 而Interface的就引入就是用来分离接口的实现的. 所以将Interface规定为只允许有接口声明, 不允许有任何实现.
比方一个接口Ball,FootBall、BasketBall都可以实现它。
我觉得应该可以接口中声明一个以半径为参数的构造函数,仅仅是声明而已,并不会实现。
就像凡是实现了Runnable的类都必须实现run()函数一样,凡是实现了Ball的类都必须实现一个以半径为参数的构造函数。
我并不觉得这与OO理念有相悖之处。