Java对象的鼻祖 - Object
Object大部分方法都是native方法。native方法是在JVM源码层(C/C++)实现的,效率一般来说都是远高于Java中的非native方法。
1、private static native void registerNatives()
一个本地方法,具体是用C(C++)在DLL中实现的,然后通过JNI调用
2、public final native Class<?> getClass()
获取对象的运行时class对象,class对象就是描述对象所属类的对象
3、public native int hashCode()
获取对象的散列值,散列值主要用在散列表中。Object中该方法默认返回的是对象的堆内存地址。
4、public boolean equals(Object obj)
该方法用于比较两个对象,如果这两个对象引用指向的是同一个对象,那么返回true,否则返回false。
5、protected native Object clone() throws CloneNotSupportedException
这个方法用于克隆对象。被克隆的对象必须实现java.lang.Cloneable接口,否则会抛出CloneNotSupportedException异常。
默认的clone方法是浅拷贝模式。所谓浅拷贝,指的是对象内属性引用的对象只会拷贝引用地址,而不会将引用的对象重新分配内存。深拷贝则是会连引用的对象也重新创建。
6、public String toString()
用于返回一个可代表对象的字符串。
默认返回格式如下:对象的class名称 + @ + hashCode的十六进制字符串。
7、public final native void notify()
8、public final native void notifyAll()