Day 12
JavaSE: API - 应用程序接口, 常用类, 方法
String, ArrayList —> [xx, xx] …
1.Object类, 所有类的父类
方法:11个
-
Class getClass(): 通过对象的该方法,可以获得对象对应的类的字节码对象
"haha".getClass() -> String的字节码对象 "hi".getClass() -> String的字节码对象
-
Object clone(): 克隆, 复制
复制一份全新的, 属性内容一致的对象, 深克隆
复制的是引用 -> 浅克隆
调用方法的对象, 需要类实现Cloneable接口 -
wait() * 3
-
notify() / notifyAll() — 以上5个和线程有关
-
void finalize()
GC: 垃圾回收机制, 定时清理内存中
栈:方法结束, 方法栈直接释放
堆:无效对象, 等待gc回收
手动调用: System.gc() -
String toString(): 将对象变成字符串格式
直接打印对象时, 自动就会调用对象的toString方法System.out.println(zi.toString()); // 简化写法 System.out.println(zi); // 简化写法 Object中默认toString的实现方式: getClass().getName() + "@" + Integer.toHexString(hashCode()); 自定义打印格式: 重写toString方法
-
public native int hashCode(); — 获得的是地址, 哈希码
-
boolean equals(Object o)
Object中默认equals的实现方式:
return (this == obj); – 比较对象的地址
当我们想要比较两个相同类型对象的属性值时, 需要重写equalspublic class DemoEquals { private String name; private int age; DemoEquals(