重写equals方法与重写toString方法,equalstostring
分享于 点击 10610 次 点评:207
重写equals方法与重写toString方法,equalstostring
重写equals()方法就是提供自定义的相等标准。
public class TestEquals {
public static void main(String[] args) {
//Person类继承Object类,继承下来了父类的方法equals
Person p1=new Person("刘禅",16);
Person p2=new Person("张宝",45);
//Person对象p1,调用父类的方法equals,进行对象的比较
boolean b=p1.equals(p2);
System.out.println(b);
}
}
public class TestToString {
public static void main(String[] args) {
//调用Person类的方法toString()
//输出语句中,写的是一个对象,默认调用对象的toString方法
Person p= new Person("张三",20);
String s=p.toString();
System.out.println(p);
System.out.println(s);
/*输出语句中
* 以上等同于
* System.out.println(p);
* System.out.println(p.toString());
*/
}
}
public class Person {
private String name;
private int age;
public Person(){}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
/*
* 重写父类的方法toString()
* 没有必要让调用者看到内存地址
* 要求:方法中,返回类中所有成员变量的值
*/
public String toString(){
return name+age;
}
/*
* 将父类的equals方法写过来,重写父类的方法
* 但是,不改变父类方法的源代码,方法equals 比较两个对象的内存地址
*
* 两个对象,比较地址,没有意义
* 比较两个对象的成员变量,age
* 两个对象变量age相同,返回true,否则false
*
*/
public boolean equals(Object obj){
return this == obj;
}
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;
}
}
相关文章
- 暂无相关文章
用户点评