Object类是所有类、数组、枚举类的父类,是类层次结构的根类。每个类都使用Object作为超类。所有对象(包括
数组)都实现这个类的方法。
Object类实现了以下方法:
我们来看看源码中toString()方法是如何定义的:
public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
通过以下程序可以看出toString()方法返回的是这个类的全称限定名加上“@”符号,最后加上这个对象的哈希值,并将
哈希值转换成十六进制输出。
在平时我们可以通过toString()方法,获取该对象信息的字符串,比如:
class User {
    private String name;
    private int age;
    
    public User(String name,int age){
    	this.name=name;
    	this.age=age;
    }
    
    protected String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}
public class Main {
	
	public static void main(String[] args) {
		User user=new User("Bill",25);
		System.out.println(user.toString());
	}
}
code2.User@1db9742
除了直接使用toString()方法外,我们还可以重载这个方法,比如:
class User {
    private String name;
    private int age;
    
    public User(String name,int age){
    	this.name=name;
    	this.age=age;
    }
    
    protected String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String toString() {
    	return "name="+name+"\nage="+age;
    }
}
public class Main {
	
	public static void main(String[] args) {
		User user=new User("Bill",25);
		System.out.println(user.toString());
	}
}
name=Bill
age=25
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/43909597    情绪控_ 
原文:http://blog.csdn.net/hai_qing_xu_kong/article/details/43909597