Object类中的方法
toString方法:
- 语法形式:public String toString(){ };
- 作用:将对象转换成字符串形式,输出格式为类名@十六进制数
- 使用方式:直接打印输出一个对象,默认调用toString方法转换为字符串输出默认格式,所以要想得到较为简洁,自己想要的字符串形式建议重写toString方法。
equals方法:
- 语法形式:public Boolean equals(Object obj){ return (this==obj);};
- 作用:比较两个对象是否相等
- 默认原理:系统默认使用==比较两个对象是否相等,比较的是两个对象的内存地址,这显然不够用,所 以我们要想比较两个对象的内容是否相等,就需要重写equals方法(idea可以自动生成)
String类已经重写了equals方法、toString方法,比较两个字符串是否相等可以调用equals方法。
使用equals方法的常规代码:
public Boolean equals(Object obj) {
if(obj == null || !(obj instanceof 类名))//空指针或obj逻辑上不
//属于这个类
return false;
if(this == obj) //表示两个内存地址相同的东西比较
return true;
类名 变量名=(类名)obj;//把obj强转为该类的类型
if(两个对象的属性进行比较)
return true;
}
finalize:
- 语法:protected void finalize() throws Throwable
- 作用:在对象被回收前可以在{ }内写一些代码,java给程序员的一个回收时机,
- 特点:不需要调用,JVM在垃圾数量过多或到某个时间点会自动调用。
- System.gc();这个代码可以建议JVM启用垃圾回收器,也只是建议,并不一定会执行。
hashCode();
- 语法:public native int hashCode();
native表示来自底层语言,java的底层语言为C++######
- 作用:引用.hashCode();返回一个经过哈希算法计算过的对象的内存地址(int类型的)。
哈希值可以等同于内存地址。