我已经用 Java 编程有一段时间了,但是当我试图解释什么是 Java 时,java.lang.Object
是给朋友上课的,我除了简单的一句台词之外想不出更多的话:
Java中的所有对象都扩展java.lang.Object
隐含地
我不太确定为什么要这样做。
所以,我查看了源代码GrepCode http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/lang/Object.java,希望能找到一些线索。现在我知道什么是java.lang.Object
它是什么以及它的作用是什么,我想知道是否有任何具体原因说明为什么这样设计。
我的问题仍然存在:为什么每个对象都应该扩展java.lang.Object
?
我想说原因是java中的所有对象都有一个通用的API来支持基本功能,例如
-
同步 -
wait
, notify
, notifyAll
-
垃圾收集 -
finalize
-
收藏支持 -
hashCode
, equals
-
对象克隆 -
clone
还有每一个物体
- 有一个它所属的类 -
getClass
- 可以将自身表示为字符串,因为我们是
人类并且可以读取字符串 -
toString
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)