💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
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 "特有信息!"; } }