Java 基础(Object 类的使用)

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);
  1. 当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法

  2. 0bject类中toString()的定义:
    public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

  3. 像 String, Date, File, 包装类等都重写了 Object 类中的 toString() 方法。
    使得在调用对象的 toString() 时,返回 "实体内容" 信息

  4. 自定义类也可以重写 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 + "]";
	} 

运行结果

原文地址:https://www.cnblogs.com/klvchen/p/14446750.html