/*
* String toString() : 返回该对象的字符串表示
* return getClass().getName() + "@" + Integer.toHexString(hashCode());
* getClass():返回一个字节码对象
* Integer.toHexString():返回指定参数的十六进制字符串形式
* hashCode():返回该对象的哈希码值(内部地址)
*
* boolean equals(Object obj)
*
* 重建Object的toString方法快捷方式:鼠标右键Generate---toString
* 查看toString源码:ctrl+点击toString
*/
public class Object_toString_Demo { public static void main(String[] args) { day d = new day(); System.out.println(d);//不写默认执行对象的toString方法 System.out.println(d.toString());//toString方法对我们没有意义,需要重新方法。 //查看源码:ctrl+点击toString Student s = new Student(); s.name = "aa"; s.age = 12; System.out.println(s);//不写默认执行对象的toString方法 System.out.println(s.toString()); } } class day {//所有的类都默认继承的Object类,如果继承了指定类就使用其他类(总会有一个父类没有继承,它就继承Object) int time; } //重建Object的toString方法快捷方式:鼠标右键Generate---toString class Student extends Object { String name; int age; @Override public String toString() { return "student{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ‘}‘; } }
输出
二、equals 案例
/*
* boolean equals(Object obj)
* 使用==来比较两个对象是否相等,则比较地址值是否相等
*/
public class Object_Equals_Demo { public static void main(String[] args) { Student2 s = new Student2(); Student2 s2 = new Student2(); boolean flag = s.equals(s2); System.out.println(s + "| |" + s2 + "| |" + flag); } } class Student2 { String name; int age; }
输出