Object 类中的主要结构
NO.
方法名称
类型
描述
1
public Object()
构造
构造者
2
public boolean equals(Object obj)
普通
对象比较
3
public int hashCode()
普通
取得Hash码
4
public String toString()
普通
对象打印时调用
例子
ObjectTest.java
package com.klvchen.exer1;
public class ObjectTest {
public static void main(String[] args) {
int it = 65;
float fl = 65.0f;
System.out.println("65和65.0f是否相等? " + (it == fl)); //true
char ch1 = 'A';
char ch2 = 12;
System.out.println("65 和 'A' 是否相等? " + (it == ch1)); //true
System.out.println("12 和 ch2 是否相等? " + ( 12 == ch2)); //true
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println("str1 和 str2 是否相等?" + (str1 == str2)); //false
System.out.println("str1 是否 equals str2?" + (str1.equals(str2))); //true
//System.out.println("hello" == new java.util.Date()); //编译不通过
}
}
运行结果:
toString() 方法
toString() 方法在 Object 类中定义,其返回值是 String 类型,返回类名和它的引用地址。
在进行 String 与其它类型数据的连接操作时,自动调用 toString()方法
Date now=new Date();
System.out.printin("now="+now); //相当于
system.out.printin("now="+now.toString());
可以根据需要在用户自定义类型中重写 toString() 方法如 String 类重写了 toString()方法,返回字符串的值。
s1="hello";
System.out.printIn(s1);//相当于System.out.printin(s1.toString());
基本类型数据转换为 String 类型时,调用了对应包装类的 toString() 方法
int a=10;
System.out.printin("a="+a);
当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法
0bject类中toString()的定义:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
像 String, Date, File, 包装类等都重写了 Object 类中的 toString() 方法。
使得在调用对象的 toString() 时,返回 "实体内容" 信息
自定义类也可以重写 toString()方法,当调用此方法时,返回对象的 "实体内容"
package com.klvchen.java1;
import java.util.Date;
public class ToStringTest {
public static void main(String[] args) {
Customer cust1 = new Customer("Tom", 21);
System.out.println(cust1.toString()); //重写前:com.klvchen.java1.Customer@26f0a63f 重写后:Customer [name = Tom,age = 21]
System.out.println(cust1); //重写前:com.klvchen.java1.Customer@26f0a63f 重写后:Customer [name = Tom,age = 21]
String str = new String("MM");
System.out.println(str); //MM
Date date = new Date(4534534534543L);
System.out.println(date.toString());
}
}
# 重写 Customer toString() 方法
public String toString() {
return "Customer [name = " + name + ",age = " + age + "]";
}
运行结果