Object中的toString方法
equals是一个方法名---相等。
toString --- 把对象转换为字符串类型。实例方法,需要创建对象才能调用。
-- 我们研究了一下Object类当中的很多方法,其中有一个toString()方法,发现:
System.out.println(引用);
直接输出一个“引用”时,println()方法会自动调用“引用.toString()”,然后输出toString()执行结果
public class ExtendsTest03 {
//ExtendsTest03默认继承Object
//ExtendsTest03类当中有toString()方法
//不过toString方法是一个实例方法,需要创建对象才能调用
public static void main(String[] args) {
ExtendsTest03 et = new ExtendsTest03();
//toString()方法结束后,返回一个字符串,需要返回值
String retValue = et.toString();
//System.out.println(retValue);
//System.out.println(et.toString()); 以上两行代码可以合并
//如果直接调用“引用”呢? --和以上调用toString()结果相同,println()方法会自动调用toString()方法
System.out.println(et);
//运行结果:ExtendsTest03@14ae5a5
//14ae5a5可以“等同”看做对象在堆内存中的内存地址
//实际上是内存地址经过“哈希算法”得出的十六进制结果
}
}
1、toString()方法的作用是什么?
将java对象转换成字符串的形式。
2、Object类中toString()方法的默认实现是什么?
public String toString(){
return getClass().getName() + "g" + Integer.toHexString(hashCode());
}
toString():
方法名的意思是转换成String
含义:
调用一个java对象的toString()方法就可以将该java对象转换成字符串的形
注意:
大多数的Java类中toString()方法都是需要覆盖的。因为Object类中提供的toString()方法输出的是一个java对象的内存地址
toString()方法怎么覆盖?
格式可以自己定义,或者看项目要求。
3、那么toString()的默认方法够用吗?
public class OverrideTest04 {
public static void main(String[] args) {
Date t1 = new Date();
//调用toString()方法,将对象转换为字符串形式
//我们不满意这个输出结果,希望输出“x年x月x日“
//System.out.println(t1.toString()); //输出Date@6a5fc7f7,这是重写Date的toString()之前的结果
System.out.println(t1.toString()); //2001年5月18日,这是重写Date的toString()方法之后的结果
//当输出一个引用时,println方法会自动调用引用的toString()方法
Date t2 = new Date(2001,5,31);
System.out.println(t2);
}
}
class Date{
private int year;
private int month;
private int day;
public Date(){
this(2001,5,18);
}
public Date(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
public String toString(){
return year + "年" + month + "月" + day + "日"; //重写toString()方法
}
}
标签:int,Object,Date,toString,println,方法,public
From: https://www.cnblogs.com/sevenxx/p/16733682.html