创建一个描述人的类,并提供比较与另一个人是否同龄的功能
时间: 2024-10-23 17:14:20 浏览: 27
增加孤立的一年级学生和跨文化同龄人之间的社交互动
创建一个描述人的类,我们可以设计一个名为`Person`的类,包含姓名、年龄以及其他可能的属性。为了提供比较两个人是否同龄的功能,我们将重写`equals()`和`hashCode()`方法,并添加一个`isSameAge(Person other)`方法来进行具体的年龄对比。
下面是一个简单的示例:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 返回姓名
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;
}
// 判断与另一个Person对象是否同龄
public boolean isSameAge(Person other) {
return this.age == other.getAge();
}
@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 && name.equals(person.name);
}
@Override
public int hashCode() {
int result = name.hashCode();
result = 31 * result + age;
return result;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
```
现在你可以创建两个`Person`对象并使用`isSameAge()`方法检查它们的年龄是否相同:
```java
Person personA = new Person("Alice", 25);
Person personB = new Person("Bob", 25);
System.out.println(personA.isSameAge(personB)); // 输出: true
```
阅读全文