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 +" ] ";
// }
}