Object是我们非常熟悉的一个类了,它是所有类的基类,一个类即时没有直接继承任何类,它默认也会继承Object类,也就是所有的类都直接或者间接的基础了Object类,这就是说Object类是所有类的基类的原因
Object是java.lang下的类,细心的小伙伴可能都已经发现了,该包下的所有类在使用的时候都不需要手动导入,系统会在编译的时候自动导入,类似的还有Integer、String类等都是属于这个包下的
一、Object类的结构图
1、Object类的七大native方法:registerNatives()、getClass()、hashCode()、clone()、notify()、notifyAll()、wait(long)
native关键字修饰的方法称为本地方法,这些方法并不是用java实现的,考虑到实现的性能问题,大多是由C/C++编写的程序,编译成dll文件,再由java去加载这些dll文件,就可以通过java来调用dll中的函数了
1)**registerNatives()方法:**主要是将用C/C++语言写的一些方法,如hashCode、wait、notify等方法加载到jvm中,感兴趣的可以去OpenJDK中查看相关C的代码如下