日期:2014-05-20  浏览次数:20694 次

object 是高度抽象的一个类.当初JAVA设计者如何想到这些属性的??
??只是想知道下,
我肯定想不出来...

------解决方案--------------------
这个应该去问James Gosling了。
------解决方案--------------------
经验的问题了,如果你到了能设计java基本类库的高度你就明白了。
------解决方案--------------------
我觉得这就是需求的问题,

如果我们要做一只手套,
一定知道要5个手指的,
少了就会明显的不对。

其实对于那些高高高手来说,
这些应该都是必需品。

good luck
------解决方案--------------------
Java咖啡喝多了产生的结果...
------解决方案--------------------
我觉得当初作者的想法可能是有两个:
1)所有东西都是Object
2)为集合类框架考虑,因为java刚出来时还没有泛型,
------解决方案--------------------
I'm an object.
------解决方案--------------------
经验的积累吧
------解决方案--------------------
这是java的特性所致的,作者肯定至少精通一门其他语言(比如c/c++)。Object的很多方法都是其他语言本身就具备的机智。


equals,hashCode,clone(对象类型的变量只是个引用,与实际内容不相干)。
toString(任何语言用的最多的都是字符串操作,能将object转化未字符串当然也就势在必行了)。
wait,notify*(java是第一个直接支持多线程的高级语言,这些方法是不是必不可少,当然并不是所有的java程序都需要显式使用多线程)
finalize(java也是第一个支持垃圾回收机智的高级语言,这个方法也就理所当然了)
getClass(所有的java Object都有类与之对应)



如果是我设计,我会这样考虑。实际上语言接触多了,很多高级语言的特性和方法在动态脚本语言里都有对应物(比如python)
------解决方案--------------------
能够深刻的认识到现有语言的优点和缺点.