Java Object类(一)(小白日记)

**Object类是所有类、数组、枚举类的父类,**也就是说,Java允许把任何类型的对象赋值给Object类型的变量。任何Java对象都可以调用Object类的方法。

一.toString()方法

返回该对象的字符串表示,当程序使用System.out.println()方法输出一个对象或者把某个对象和字符串进行连接运算时,系统会自动调用该对象的toString()方法返回该对象的字符串表示

  1. 举个例子
        char a ='b';
		String objStr = obj.toString();
		System.out.println(objStr);
		//输出为Chapter18.DemoObject@@3ce53108
		System.out.println(objStr+a);
		//输出为Chapter18.DemoObject@3ce53108b
		//此处+a的加号是连接符

查看Object类的toString()方法源代码`

public String toString() {
	return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

发现Object类的toString()方法返回的就是getClass().getName() + “@”+16十六进制的hashCode这就是该对象的字符串表示。
注: toHexString是将整数类型转换成十六进制数,全世界公用,返回当前对象的哈希码,哈希码一般不会改变,每个对象都有唯一的hashCode,有产生相同的可能(哈希碰撞)。
Integer.toHexString(hashCode)的使用

int hashCode = obj.hashCode();
		System.out.println("十六进制数"+Integer.toHexString(hashCode));
		System.out.println("这个对象的hashCode->" + hashCode);
		//输出为十六进制数6af62373
		//hashCode->1794515827
二、toString()的使用

toString 一般用法,自定义格式并输出,这样的好处是方便我们直接观看可视化对象信息
示例代码如下:

public class bool {
	public static void main(String[] args){
		person22 person22 = new person22();
		System.out.println(person22.toString());
	} //输出为person [age= 10,name=张三]
}
class person22{
	int age = 10;
	String name = "张三";
	@Override
	public String toString() {
		return "person [age= " +age+ ",name=" + name + "]";
}
}
发布了2 篇原创文章 · 获赞 1 · 访问量 479

猜你喜欢

转载自blog.csdn.net/qzj13/article/details/104906766