java tostring 库_java重寫toString()方法
toString()方法是Object類的方法,調(diào)用toString()會返回對象的描述信息。
1)為什么重寫toString()方法呢?
如果不重寫,直接調(diào)用Object類的toString()方法,打印的是該對象的內(nèi)存地址(類名@哈希碼值)。如下代碼所示:
classPerson {
String name;
String sex;intage;publicPerson() {}public Person(String name, String sex, intage) {this.name =name;this.sex =sex;this.age =age;
}
}classDemo {public static voidmain(String[] args) {
Person p= newPerson();
System.out.println(p);
}
}
運行結(jié)果:Person@10dea4e
從上面代碼可知,調(diào)用p的toString方法,打印出來的信息是類名+內(nèi)存地址值。不符合要求。根據(jù)我們之前學(xué)的繼承,假如父類的指定的功能能不能滿足要求,那么子類可以復(fù)寫父類的功能函數(shù),那么該對象再調(diào)用toString()方法時,則會調(diào)用子類復(fù)寫的toString方法。
(2)一般什么時候重寫toString方法?
一般在編寫代碼,POJO類必須重寫toString方法。如果繼承了另一個POJO類,注意在前面加一下super.toString。
POJO(Plain Ordinary Java Object)即普通的java類,具有一部分getter/setter方法的那種類就可以稱作為POJO類。重寫toString()方法后,在方法執(zhí)行跑出異常時,可以直接調(diào)用POJO的toString()方法打印其屬性值,便於排查問題。
(3)如何重寫toString()?
toString()方法重寫代碼樣例如下:
classPerson {
String name;
String sex;intage;publicPerson() {
}public Person(String name, String sex, intage) {this.name =name;this.sex =sex;this.age =age;
}
@OverridepublicString toString() {return "Person [name=" + name + ", sex=" + sex + ", age=" + age + "]";
}
}
編程習(xí)慣:開發(fā)者要對自定義的類重寫toString(),對對象做詳細(xì)的說明。
總結(jié)
以上是生活随笔為你收集整理的java tostring 库_java重寫toString()方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信信用卡优惠活动 9分享兑超值好礼
- 下一篇: 【思维构造】跳跃游戏