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方法应该唤回的是一个简要的摘要信息。