Object类中equals方法和toString方法练习☞标准写法,重载和重写的区别!!

/**
 * Object类中equals方法和toString方法练习支标准写法
 */
public class Teat11 {
	public static void main(String[] args) {
		Person p1 = new Person(23, "lisi");
		Person p2 = new Person(23, "lisi");
		System.out.println(p1.equals(p2));// 判断对象的内容
		System.out.println(p1 == p2);// 判断对象的地址
		System.out.println(p1);// 调用toString方法
		System.out.println(p2);
	}
}

class Person {
	private int age;
	private String name;

	Person() {
	}

	Person(int age, String name) {
		this.age = age;
		this.name = name;
	}

	// 重写equals方法
	@Override
	public boolean equals(Object obj) {
		if (this == obj) {
			return true;
		}
		if (!(obj instanceof Person)) {
			return false;
		} else {
			Person p = (Person) obj;
			return this.name.equals(p.name) && this.age == p.age;
		}
	}

	// 重写toString方法
	@Override
	public String toString() {

		return "Person[name=" + this.name + "\tage=" + this.age + "]";
	}

}

在这里插入图片描述
重载和重写的区别:
1.方法重载(overload)
在一个类中,可以定义多个名称相同,参数列表不同的函数,叫做方法的重载(和返回值类型无关)。
2.方法的重写(override)
在继承中,子类可以定义和父类一样的方法,在子类对象中使用的是子类中定义的方法,这叫做方法的重写。

猜你喜欢

转载自blog.csdn.net/weixin_43117449/article/details/82942894