Object源码研究1——整体研究

来源:互联网 发布:学安卓要先学java吗 编辑:程序博客网 时间:2024/06/07 15:41

1.      所有类都继承自Object吗?

是的,无论是Java自带的还是我们自定义的类都继承自Object。

 

追问1 数组是Object吗?

是的

这个可以从数组的方法看出,

也可以用instanceof来看,

System.out.println(ainstanceof Object);打印的是true

 

追问2 如果类A继承类B,而类A继承Object,那不就是多继承了吗?

不是,因为类B继承自Object,所以算A间接继承Object。

 

2.      Object有哪些方法?

有:复制clone()、动态获取类getClass()、获取哈希值hashCode()、判断是否相等equals()、垃圾回收finalize、转化为String显示toString();线程等待wait()、唤醒单个线程notify()、唤醒所有线程notifyAll();

 

追问1:Object源码中哪些是native的?

除了toString与finalize都是。

 

追问2:native方法是如何实现的?

调用的是本地方法,也就是用C/C++实现的,在本地的DLL内。

 

 

 

 

0 0