Java中Object的equals()方法
Java中Object的hashCode()方法
API中是这么解释的
toString
public String toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
返回:
该对象的字符串表示形式。
/*public String toString();返回该对象的字符串表示
*
*
* getClass().getName() + '@' + Integer.toHexString(hashCode())
*
* Integer类下的一个静态方法
* public static String toHexString(int i):把一个整数转化为16进制表示的字符串
*
* 现在是没有意义的,所以建议子类重写该方法(把该类的所有成员变量值组成返回即可),可以自动生成
*/
public class ToStringTest {
public static void main(String[] args) {
teacher t2 = new teacher();
teacher t3 = new teacher();
System.out.println(t2);
System.out.println(t3);
System.out.println("-----------------");
System.out.println(t2.hashCode());//366712642
System.out.println(t2.getClass().getName());
System.out.println("-----------------");
System.out.println(t3.hashCode());//1829164700
System.out.println(t3.getClass());
System.out.println("-----------------");
System.out.println(t2.toString());
System.out.println(t3.toString());
System.out.println("-----------------");
System.out.println(t2.getClass().getName()+'@'+Integer.toHexString(t2.hashCode()));
System.out.println(t2.toString());
}
}
class teacher{
private String name;
private int age;
public teacher(String name, int age) {
super();
this.name = name;
this.age = age;
}
public teacher() {
super();
// TODO 自动生成的构造函数存根
}
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() {
// TODO 自动生成的方法存根
// return super.toString();
//return "hello";
//}
@Override
public String toString() {
return "teacher [name=" + name + ", age=" + age + "]";
}
}