黑马程序员技术交流社区
标题:
java使用接口的问题
[打印本页]
作者:
董凯
时间:
2013-7-14 17:02
标题:
java使用接口的问题
本帖最后由 杨兴庭 于 2013-7-15 17:52 编辑
public interface idemo(){
public void hello();
}
public class demo implements idemo(){
public void hello() {
System.out.println("hello");
}
}
public class demo1 () {
public void hello() {
System.out.println("hello");
}
}
复制代码
使用 idemo ins = new demo();
demo1 ins = new demo1() ;
是前者效率更高,还是后者???
作者:
丁永志
时间:
2013-7-14 17:09
吃个饭回来再答 哈。
作者:
哪颗最亮的星星
时间:
2013-7-14 17:26
实现接口是因为要遵循这个接口里的规则,就如同毕老师讲的主板和网卡的总题,你的这个网卡要想在这个主板上使用,就必须符合主板上的插槽,你的这个问题就好像电脑能放音乐,MP3也能放音乐一样,没什么可比性。希望这样的回答能讲你满意!!!
作者:
wedge
时间:
2013-7-14 17:34
首先我也觉得这样的问题应该没有什么可比性,而且你只是简单的创建两个对象,前者是创建一个idemo对象指向了一个demo实例,而后者是创建了一个demo1的对象实例,接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。
作者:
王中伟
时间:
2013-7-14 17:46
接口的概念主要是为了方便升级和扩展,有点性能牺牲还是可以接收的,尤其在J2EE里面,本来数据量就不是特别大!但是在通信服务器上面,这个可能要致命了!所以还是要看领域,其实C也是有接口的,只是不显式支持而已,鱼和熊掌不可兼得,使用接口就会导致你说的效率降低问题,但是接口有接口的好处,它便于扩展和维护,所以在硬件能够支撑的前提下,可以降低点效率,毕竟是为了程序员舒服,不是吗?:)
作者:
薛淑凯
时间:
2013-7-14 17:48
若要单纯对比效率的话,明显前者更复杂。thinking in java中有这样一段话
任何抽象性都应该是应真正的需求产生的。当必需时,你应该重构接口而不是到处添加额外级别的间接性,并由此带来的额外的复杂性...
恰当的原则应该是优先选择类而不是接口...
作者:
王海旺
时间:
2013-7-14 18:06
后者效率更高
作者:
王靖远
时间:
2013-7-14 19:25
面向接口是好的。
作者:
王靖远
时间:
2013-7-14 19:25
面向接口是好的。
作者:
wll_sx1990
时间:
2013-7-14 23:00
效率没有多大关系的。使用接口的意义在于扩大了适用范围,规定了统一的标准。除非是要用的那个类中接口中没有,一般还是用接口的比较多,能提高代码的利用率。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2