JAVA基础中toString()的讲解

1.要理解toString()方法,首先要知道,在JDk中提供一个Object类,它是所有类的父类,即每个类都直接或间接的继承自该类。
注:个人理解,即,任何类中,都可以直接使用Object类中定义的方法,例如我们常用toString()方法。

package pers.day02;

class Animal{
	public Animal(){}   //不写,也会默认补上这个构造函数
}
public class AnimalDemo1 {
	public static void main (String[]  args) {
		Animal an = new Animal();
		System.out.println(an.toString());
	}
}

运行结果如下:
在这里插入图片描述
我们可以看到,并没有报错,但是打印出来的又是什么?现在我们了解一下toString()方法的作用。

2.这个toString()方法解析开来,其实就是getClass().getName()+"@"+Integer.toHexString(hashCode());第一眼看上去感觉很复杂,我们对照刚刚打印的信息来看:
getClass().getName()+"@"+Integer.toHexString(hashCode())
pers.day02.Animal@73035e27
1)getClass().getName()代表返回对象所属类的包名.类名,即pers.day02.Anima。
2)@对应@;
3)Integer.toHexString(hashCode())代表将对象的哈希值用16进制表示,其中hashCode()代表返回该对象的哈希值。

3.然而,在实际开发中,通常希望toString()方法返回的不只是基本信息,所以Object的toString()方法通常会被重写,如下,我们只需在Animal类中重写toString()即可。

class Animal{
	public Animal(){}   //不写,也会默认补上这个构造函数
	public String toString(){
		return "特有信息!";
	}
}
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值