在Java后期面向对象编程时候,经常在类中重写toString方法,究竟有什么用呢?
首先,所有自定义的类都继承自Object类,重写toString方法之后,就可以直接输出对象了。
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
栗子(没有重写)
package com.name.day_05;
lic class Car {
//定义成员变量
private String name;
private double price;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public double getPrice() { return price; }
public void setPrice(double price) { this.price = price; }
//测试
public static void main(String[] args) {
//实例化对象
Car car=new Car();
//给对象赋值
car.setName("宝马");
car.setPrice(666666.6);
System.out.println(car);
}
}
栗子(重写toString方法后)
package com.name.day_05;
lic class Car {
//定义成员变量
private String name;
private double price;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public double getPrice() { return price; }
public void setPrice(double price) { this.price = price; }
//重写toString方法
// @Override
// public String toString() {
// return "Car{" +
// "name='" + name + '\'' +
// ", price=" + price +
// '}';
// }
public static void main(String[] args) {
//实例化对象
Car car=new Car();
//给对象赋值
car.setName("宝马");
car.setPrice(666666.6);
System.out.println(car);
}
}
这是本人自己总结,欢迎各路大神前来指点和批评😀