Object类的toString方法

      Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类。
这两天学习了Object其中的两个默认方法————toString,下面借用马老师的例子说明:
      public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
  
        

   public class Test {
            public static void main(String[] args){
                       Dog d = new Dog();
                       System.out.println("d="+ d.toString());
      }
   }
   class Dog{
      }
  输出结果:d=Dog@c17164,原因是子类调用了默认基类Object的toString方法,该方法返回的是:类名+其哈希编码。

如果重写toString方法,把代码改成:

   public class Test {
            public static void main(String[] args){
                       Dog d = new Dog();
                       System.out.println("d="+ d.toString());
      }
   }
   class Dog{

             @Override

              public String toString(){

              return "I am a brave Dog"

      }

   }

重新运行结果为:I am a brave Dog

所以在基类是Object的时候,toString方法建议重写

原文地址:https://www.cnblogs.com/wry13172/p/3571458.html