package endual.test;
import java.io.Serializable;
//始终要覆盖的是toString的方法,这个有利于程序员进行查看
//Object类里面的toString方法是返回的是String类型的值,调研的是本地方法,用int类型的静态方法进行的运行
//而实例对象被放入到打印等jre默认的一些打印的方法的时候会调研到父类的toString方法,自动调用的
//所以我们在进程创建对象的时候,最好是覆盖掉toString方法,这样有利于我们以后在查看这个类实例的时候
//查到这个类的作用以及一些调试的信息
public class People implements Serializable, Comparable<People> {
private int id; //虚拟机在类加载的时候将默认的值0赋值给了int类型
private String name; //而String类型的则没有做任何的初始化操作,所有并没有值赋值给String设置的时候为null
private int age;
public int getId() {
return id;
}
@Override
public String toString() {
//String name = "xxx" ;
return id + "@" + name +"@"+ age;
}
public void setId(int id) {
this.id = id;
}
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 int compareTo(People o) {
// TODO Auto-generated method stub
return 0;
}
}
-----------------------------------------------------------------------
package endual.test;
public class MainTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
People peo = new People() ;
System.out.println(peo);
}
}
==========================================
在实际的应用中,toString方法应该返回的对象中包含的所有值得关注的信息,例如上述people的个人信息
。如果对象太大,或者对象中包含的状态信息难以用字符串来表达。这样做的有点不切实际,在这种情况下,toString方法应该唤回的是一个简要的摘要信息。