Java – 常用API – Object 类
简介
Object 是 Java 中的顶级父类,所有的类都直接或间接的继承于Object类。
toString()
返回对象的字符串表示形式,返回 String
toString() 默认输出 包名.模块名@内存地址 的形式输出,其底层代码如下
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
重写toString()
如果想在 System.out.println()
中输出想要的信息,可以对 toString() 方法进行重写
@Override
public String toString() {
return "LoginJFrame{" +
"verCode='" + verCode + '\'' +
'}';
}
equals()
比较两个对象是否相等,返回 boolean
Java 的 equals 底层原理也比较简单,如下:
public boolean equals(Object obj) {
return (this == obj);
}
重写 equals()
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
clone()
对象克隆,返回 Object
浅拷贝
Java 提供的 clone 为浅拷贝,如果克隆的数据只有基础数据类型,则会复制一遍,如果带有引用型数据时,该引用型数据不会被克隆,而仅仅只把引用的内存地址复制一遍。
如果想自定义克隆可以重写 clone 方法进行自定义克隆,但是必须返回 super.clone() 方法。
@Override
protected Object clone() throws CloneNotSupportedException {
...
return super.clone();
}
深克隆
clone 需要提供 throws CloneNotSupprotedException
异常
Java 并没有提供深克隆的方法,如需要深克隆,需使用第三方包,如 Gson 库。
共有 0 条评论