声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
Object 父类:
Object的方法:
clone() Object 克隆
to String() String 转字符串
equals(Object) boolean 比较对象是否相等
get Class() Class 模板对象,通过此方法获得模板对象。
hashCode() int 转换成数字
gc 垃圾回收
equals方法讲解:
GetClass() 当前对象calss
O.getClass() 传进来对象的class
getClass()!=o.getClass() 当前的class与传进来的class 进行比较,如果相同 就是同一个类,不相同就不是同一个类,return false。
为什么要把o == null放在前面比较?
对象变量不指向一片内存是获得不到里面数据的、没有办法访问的。
如果o是空的话去调用会发生错误,因为o没得到内存是不可以参与访问的。
空指针错误!
Onull放到后面先运行的会是getClass()!=0.getClass(),万一o传进来是空(null)的话,调用时就会发生错误。
Onull放到前面,|| 的运算方式是如果前面为true,后面就不会运行。
clone() 克隆:我们在传递对象,或者赋值对象的时候都是引用传递,没有复制传递。
我想给我的对象创建副本?对象复制一般复制什么?
对象和对象之间复制的是属性值!
1.深克隆 :把外界引用的对象同时引用给自己。
2.浅克隆 :把外界引用的对象也引用一份。
浅克隆:
测试:
克隆异常处理:选中报错代码区域,Alt键+回车。
浅克隆内存申请:
深克隆:里面寄存一个属性Dog。
测试:
深克隆内存申请:
to String() String 转字符串:用于打印属性值,与字符串相加或者打印对象时会自动调用to String()方法。
介绍类的情况、参数值,返回出来的是字符串。
字符串返回出来的作用就是:用来介绍类的属性情况,类里面 的内容。
打印方式:介绍,把属性值打印出来。
gc 垃圾回收:System.gc() 方法会促进垃圾回收启动。
什么对象会被回收?
Dog dog=new Dog();
Dog=null; 只要你的对象没有对象变量指向,java就可以把你的对象自动回收。 没有任何变量引用的内存就会回收。
在老版本的JDK中,只要你回收对象就会先调用finalize()进行通知。