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内。