cakin24 阅读(397) 评论(0)

一 概念简介

1、打印对象和toString方法:toString方法是系统将会输出该对象的“自我描述”信息,用以告诉外界对象具有的状态信息。

2、Object 类提供的toString方法总是返回该对象实现类的类名 + @ +hashCode值。

 

二 打印对象示例

1、程序示例

class Person
{
	private String name;
	public Person(String name)
	{
		this.name = name;
	}
}
public class PrintObject
{
	public static void main(String[] args)
	{
		// 创建一个Person对象,将之赋给p变量
		Person p = new Person("林冲");
		// 打印p所引用的Person对象
		System.out.println(p);
	}
}

 

2、运行结果

Person@1db9742

3、结果分析

当使用该方法输出Person对象时,实际输出的是Person对象的toString方法。

 

三 重写toString方法示例

1、程序示例

class Apple
{
	private String color;
	private double weight;
	public Apple(){	}
	//提供有参数的构造器
	public Apple(String color , double weight)
	{
		this.color = color;
		this.weight = weight;
	}

	// color的setter和getter方法
	public void setColor(String color)
	{
		this.color = color;
	}
	public String getColor()
	{
		return this.color;
	}

	// weight的setter和getter方法
	public void setWeight(double weight)
	{
		this.weight = weight;
	}
	public double getWeight()
	{
		return this.weight;
	}

	// 重写toString方法,用于实现Apple对象的"自我描述"
	public String toString()
	{
		return "一个苹果,颜色是:" + color
			+ ",重量是:" + weight;
	}

//	public String toString()
//	{
//		return "Apple[color=" + color + ",weight=" + weight + "]";
//	}

}
public class ToStringTest
{
	public static void main(String[] args)
	{
		Apple a = new Apple("红色" , 2.38);
		// 打印Apple对象
		System.out.println(a);
	}
}

 

2、运行结果

一个苹果,颜色是:红色,重量是:2.38

3、结果分析

从上面的运行结果来看,通过重写Apple类的toString方法,就可以让系统在打印Apple对象时打印出该对象的“自我描述”信息。