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 情绪控_