一:关于Object类
1、Object是所有类的父类。
2、常用函数有getClass(), hashCode(), equals(), toString(), clone(), wait(), notify(), finalize(). 还有registerNatives().
1.native registerNative()的修饰符native表明,该方法由其他语言试下,比如C/C ++, 由java调用。
2.native clone(),同样,native修饰符表示,实现方法由其他语言完成。克隆产生新的对象,与源对象分别占用不同的堆空间。
常用方法:1、调用过程中,必须implements clonable。2、使用commons包
分两种:深克隆、浅克隆。浅克隆仅仅赋值所克隆的对象,而不赋值它所引用的对象。
深克隆对所克隆对象引用的对象也进行克隆。深克隆需要用到序列化,其他平台也能识别。浅克隆不能做到。
3.equals()函数比较两个对象的内存地址。在Object类中equals()方法等同于==。
对于其他继承自Object类的子类,重载equals()方法必须重写hashCode().
4.hashCode()返回对象的哈希值。是由对象的物理地址产生的哈希值。与equals()搭配判断对象是否相等。
equals()判断对象内容是否相等。由用户调用。
hashCode()判断对象的哈希编码是否相同,减少equals()的判断,提高判断效率。一般由java内部调用。
==判断两个对象的内存地址是否相同。
5.toString()返回改对象的字符串表示。一般是类名+hash值。
重写是为了打印出来的内容,自己能看懂。
可以打印出这个类的重要内容。
6.finalize()是垃圾回收器准备释放内存时,会先调用这个函数。
是java编程中跟垃圾回收,内存回收有关系的手动函数。