码迷,mamicode.com
首页 > 其他好文 > 详细

5.3 Object类的toString()方法

时间:2015-10-25 13:48:40      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

public class Student {
	private String name;
	private int age;

	public Student() {
		super();
	}

	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	// @Override
	// public String toString() {
	// // return super.toString();
	// // return "hello";
	// return "姓名:" + name + ",年龄:" + age;
	// }
	
	@Override
	public String toString() {
		return "Student [name=" + name + ", age=" + age + "]";
	}
}

/*
 * public String toString():返回该对象的字符串表示。
 * 
 * Integer类下的一个静态方法:
 * 		public static String toHexString(int i):把一个整数转成一个十六进制表示的字符串
 * 
 * 但是这个信息是没有任何意义的。所以,建议所有子类都重写该方法。
 * 怎么重写呢?
 * 		把该类的所有成员变量值组成返回即可。
 * 重写的最终版方案就是自动生成toString()方法。
 * 
 * 注意:
 * 	 直接输出一个对象的名称,其实就是调用该对象的toString()方法。
 */
public class StudentTest {
	public static void main(String[] args) {
		Student s = new Student();
		System.out.println(s.hashCode());
		System.out.println(s.getClass().getName());
		System.out.println("--------------------");
		System.out.println(s.toString());
		System.out.println("--------------------");
		// toString()方法的值等价于
		// getClass().getName() + ‘@‘ + Integer.toHexString(hashCode())
		// this.getClass().getName()+‘@‘+Integer.toHexString(this.hashCode())
		System.out.println(s.getClass().getName() + ‘@‘	+ Integer.toHexString(s.hashCode()));
		System.out.println(s.getClass().getName() + "@"	+ Integer.toHexString(s.hashCode()));
		System.out.println(s.toString());
		// 直接输出对象的名称
		System.out.println(s);
	}
}


5.3 Object类的toString()方法

标签:

原文地址:http://my.oschina.net/u/2001589/blog/521727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!