Java 打印一个对象却输出地址?

您所在的位置:网站首页 输出不了字符 Java 打印一个对象却输出地址?

Java 打印一个对象却输出地址?

2024-05-24 20:24| 来源: 网络整理| 查看: 265

有时候使用System.out.println()方法输出一个类的对象,得到的结果却是该对象的地址:类名@12aa35151 这个结果是怎么来的呢? System.out的println()方法只能在控制台输出字符串,有时候比如自己写的person类实例是内存中的一个对象,怎么直接转换为字符串输出呢?可能会想到toString()方法,但其实效果是一样的,也就是说下面的代码效果相同。

System.out.println(p);//p是一个person类对象 System.out.println(p.toString());

toString()方法是Object类的一个实例方法,toString()方法是一个非常特殊的“自我描述”方法,该方法通常用于实现:当程序员直接打印该对象时,系统将会输出该对象的“自我描述信息“,用以告诉外界该对象具有的状态信息。 Object类提供的toString()方法总是返回该对象实现类的”类名+@+hashCode“值,这个返回值并不能真正实现”自我描述“的功能,因此如果需要实现”自我描述“,就必须重写toString()方法。 例如:

class Apple{ private Strng color; private double weight; …… //重写toString方法用于实现Apple对象的”自我描述“ public String toString(){ return "一个苹果的颜色是:"+color; } public class TostringTest{ public static void main (String[] args){ Apple a =new Apple(); System.out.println(a); } } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3