/*** 关于toString()方法:* - toString()来自于sun公司提供的Object类,其作用就是将"java对象"转换成"字符串"的形式* - Object类的toString()方法的默认实现是:* public String toString(){* return getClass().getName() + "@" + Integer.toHexString(hashCode());* }* 含义:调用一个Java对象的toString()方法就可以将Java对象转换成字符串来表示,* - 由于默认实现不能满足现实的业务需求,今后大多数自定义类的toString()方法都需要重写,重写规则:简单、明了符合业务需求** - 代码:System.out.println(引用);和System.out.println(引用.toString())具有相同的功能;*/
public class toStringText {public static void main(String[] args) {MyDate t1 = new MyDate();System.out.println(t1.toString()); //不重写toString()方法的输出结果:MyDate@b4c966a//重写toString()方法的输出结果:1970年1月1日Student s = new Student("11111","张三");System.out.println(s); //不重写toString()方法的输出结果:Student@4e50df2e//重写toString()方法的输出结果:学号:11111,姓名:张三}
}
class MyDate{private int year;private int month;private int day;
// 无参构造public MyDate() {this(1970,1,1); //this()的应用实例 通过当前的构造方法调用其他构造方//这种语法只能出现在构造方法的第一行}// 有参构造方法public MyDate(int year, int month, int day) {this.year = year;this.month = month;this.day = day;}// get and setpublic 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;}// 重写toString()方法public String toString() {return (year + "年" + month + "月" + day + "日");}
}
class Student{private String no;private String name;
// 有参构造public Student(String no, String name) {this.no = no;this.name = name;}
// setter and getterpublic String getNo() {return no;}public void setNo(String no) {this.no = no;}public String getName() {return name;}public void setName(String name) {this.name = name;}
// 重写toString()方法public String toString() {return "学号:" + no + ",姓名:" + name;}
}
上一篇:祝福男生生日的成语