java里面直接输出一个类的对象

Java直接输出一个类的对象的时候,会自动调用这个类的toString方法。这个方法在object类中,而所有的类都继承object类,所以所有的类都有toString方法。当我们不重写该方法时,该方法的实现是这样的:

getClass().getName()+'@'+Integer.toHexString(hashCode())

输出的结果是:类所在的包名.类名+'a’+哈希码值

而当我们需要输出特定格式是需要重写该方法。

package 笔记;
class TestPoint{
	private int x;
	private int y;
	TestPoint(int x,int y){
	this.x=x;
	this.y=y;//注意这里面this指针的用法
	}
	public String toString() {
		return ("["+x+","+y+"]");
	}
}
public class example5_22_1 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TestPoint test=new TestPoint(1,23);
		System.out.println(test);
	}
}

这里面我们已经重写过了toString方法,即父类object类的toString方法被覆盖。注意我们重写toString方法是注意一定要和原方法在形式上面一致,即方法的类型一定是public String的形式。

输出结果:[1,23]

没重写toString方法前的输出结果:笔记.TestPoint@16b4a017

               

猜你喜欢

转载自blog.csdn.net/just16cz/article/details/80410511