Topic: 一个关于java的小问题,关于对象声明的

  Print this page

1.一个关于java的小问题,关于对象声明的 Copy to clipboard
Posted by: ycxct
Posted on: 2006-12-22 17:36

eg:
Map fruit = new LinkedHashMap();
LinkedHashMap fruit = new LinkedHashMap();

哪种方式比较好呢?似乎听别人说过用通用接口声明性能更高,还有在考试中出现2可的选择,那种算正确呢?

谢谢指教

2.Re:一个关于java的小问题,关于对象声明的 [Re: ycxct] Copy to clipboard
Posted by: cxp108
Posted on: 2006-12-25 09:01

ycxct wrote:
eg:
Map fruit = new LinkedHashMap();
LinkedHashMap fruit = new LinkedHashMap();

哪种方式比较好呢?似乎听别人说过用通用接口声明性能更高,还有在考试中出现2可的选择,那种算正确呢?

谢谢指教

据我所知,这两种声明方法不存在任何性能上的区别。仅仅是获得的Reference类型不同而已,执行的函数完全是相同的。这是由Java的继承特性决定的。
声明成LinkedHashMap时,fruit的可用函数会多一些。但即使声明成Map,也可以随时通过强制转型

LinkedHashMap newFruit = (LinkedHashMap)fruit;

转换成LinkedHashMap。
因此,这两种方式在实际使用当中没有什么分别。

3.Re:一个关于java的小问题,关于对象声明的 [Re: ycxct] Copy to clipboard
Posted by: chentaolx
Posted on: 2006-12-25 10:43

个人觉得是编程习惯的问题...

4.Re:一个关于java的小问题,关于对象声明的 [Re: ycxct] Copy to clipboard
Posted by: ycxct
Posted on: 2006-12-25 22:23

哦,谢谢cxp108解答,貌似相当多的商业代码是用接口声明的,故有此一问 ^^


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923