toString()覆写与不覆写的区别

关于toString覆写,一段小代码,似乎让我明白了点儿...
(1)覆写输出:MLDN
class Info<T>{
   private T var;
   public void setVar(T var)
  {
     this.var=var;
  }
   public T getVar(){
     return this.var;
  }
   public String toString(){
     return this.var.toString();
  }
}
public class Demo {

   /**
    * @param args
    */
   public static void main(String[] args) {
     // TODO Auto-generated method stub
    Info<String> i = new Info<String>();
    i.setVar( "MLDN");
    System.out.println(i);
  }

}
(2)将覆写toString()方法的代码注释掉,,输出:Info@1b60280

class Info<T>{
   private T var;
   public void setVar(T var)
  {
     this.var=var;
  }
   public T getVar(){
     return this.var;
  }
   /*public String toString(){
    return this.var.toString();
  }*/
}
public class Demo {

   /**
    * @param args
    */
   public static void main(String[] args) {
     // TODO Auto-generated method stub
    Info<String> i = new Info<String>();
    i.setVar( "MLDN");
    System.out.println(i);
  }

}
(3)不覆写toString()方法,使用get方法。。输出:MLDN
class Info<T>{
   private T var;
   public void setVar(T var)
  {
     this.var=var;
  }
   public T getVar(){
     return this.var;
  }
   /*public String toString(){
    return this.var.toString();
  }*/
}
public class Demo {

   /**
    * @param args
    */
   public static void main(String[] args) {
     // TODO Auto-generated method stub
    Info<String> i = new Info<String>();
    i.setVar( "MLDN");
    System.out.println(i.getVar());
  }
}
以上代码输出:MLDN

你可能感兴趣的:(覆写,toString()方法)