定义一个Person类,具有如下的成员 人类( 私有属性 (姓名); 私有属性(年龄); 带两个参数的构造方法) 重写Object类的toString方法,输出当前对象的姓名及年龄信息; 重写Object类的eouals方法,判当前对象与Object对象obj是否同龄;;
时间: 2024-11-27 12:17:18 浏览: 72
在Java中,我们可以按照以下步骤定义一个名为`Person`的类,满足您的需求:
```java
public class Person extends Object {
// 私有属性
private String name;
private int age;
// 构造方法,接受姓名和年龄作为参数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 重写Object的toString()方法
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
// 重写equals()方法,比较当前对象的年龄是否与另一个对象的年龄相等
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || getClass() != obj.getClass()) {
return false;
}
Person person = (Person) obj;
return age == person.age;
}
// 为了使equals()正常工作,还需要覆盖hashCode()方法,虽然这不是必需的,但推荐这样做
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}
```
在这个例子中,我们创建了一个`Person`类,它从`Object`类继承,并添加了姓名和年龄作为私有字段。构造函数接收这两个参数并设置它们。`toString()`方法返回包含姓名和年龄的字符串描述,`equals()`方法则用来比较两个`Person`对象的年龄是否相同。由于`equals()`方法是重写的,所以在比较其他`Object`对象时,也需要强制转换为`Person`类型来进行年龄比较。
阅读全文
相关推荐


















