一 概念简介
1、打印对象和toString方法:toString方法是系统将会输出该对象的“自我描述”信息,用以告诉外界对象具有的状态信息。
2、Object 类提供的toString方法总是返回该对象实现类的类名 + @ +hashCode值。
二 打印对象示例
1、程序示例
class Person { private String name; public Person(String name) { this.name = name; } } public class PrintObject { public static void main(String[] args) { // 创建一个Person对象,将之赋给p变量 Person p = new Person("林冲"); // 打印p所引用的Person对象 System.out.println(p); } }
2、运行结果
Person@1db9742
3、结果分析
当使用该方法输出Person对象时,实际输出的是Person对象的toString方法。
三 重写toString方法示例
1、程序示例
class Apple { private String color; private double weight; public Apple(){ } //提供有参数的构造器 public Apple(String color , double weight) { this.color = color; this.weight = weight; } // color的setter和getter方法 public void setColor(String color) { this.color = color; } public String getColor() { return this.color; } // weight的setter和getter方法 public void setWeight(double weight) { this.weight = weight; } public double getWeight() { return this.weight; } // 重写toString方法,用于实现Apple对象的"自我描述" public String toString() { return "一个苹果,颜色是:" + color + ",重量是:" + weight; } // public String toString() // { // return "Apple[color=" + color + ",weight=" + weight + "]"; // } } public class ToStringTest { public static void main(String[] args) { Apple a = new Apple("红色" , 2.38); // 打印Apple对象 System.out.println(a); } }
2、运行结果
一个苹果,颜色是:红色,重量是:2.38
3、结果分析
从上面的运行结果来看,通过重写Apple类的toString方法,就可以让系统在打印Apple对象时打印出该对象的“自我描述”信息。