package mk.bigdata.java2;
/*
*
* Object类中toString ()的使用:
* 1、当我们输出一个对象的引用时,实际上就是调用当前对象的toString()
*
*2.Object类中toString()的定义:
* public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
获取了对象的类的类名 @ 获取了对象的地址值并且转换成16进制 (算出来的虚拟的内存地址)
}
*
* 3.像String 、date 、 File 、包装类等都重写了Object类中的toString()方法
* 使得在调用对象的toString()时,返回"实体内容"信息
*
* 4.自定义类也可以重写toString()方法,当调用此方法时,返回对象的“实体内容”
*
*
* */
public class ToStringTest {
public static void main(String[] args) {
Customer2 cust2 = new Customer2("Tom" , 21);
System.out.println(cust2.toString());//mk.bigdata.java2.Customer2@4554617c
System.out.println(cust2);//mk.bigdata.java2.Customer2@4554617c
String str = new String("MM");
System.out.println(str);
}
}
package mk.bigdata.java2;
public class Customer2 {
private String name;
private int age;
public Customer2() {
}
public Customer2(String name, int age) {
this.name = name;
this.age = age;
}
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 String toString() {
return "Customer2{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//手动实现
// @Override
// public String toString() {
// return "Customer[name = " + name + ", age = " + age +" ] ";
// }
}