写一段java代码,实现编写一个person类,包括人的姓名,性别,年龄,子女等属性,并封装有获得姓名,获得年龄,增加一岁,获得子女,设置子女等方法,其中子女为一个person数组。用某实际数据测试该类的设计
时间: 2024-05-04 21:17:22 浏览: 115
好的,以下是实现了你要求的Person类的Java代码:
```java
public class Person {
private String name;
private String gender;
private int age;
private Person[] children;
public Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
this.children = new Person[0];
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void addYear() {
this.age++;
}
public Person[] getChildren() {
return children;
}
public void setChildren(Person[] children) {
this.children = children;
}
}
```
接下来,我会用某实际数据测试这个类的设计。假设我们有这样一组数据:
```java
Person father = new Person("Tom", "Male", 35);
Person mother = new Person("Lucy", "Female", 30);
Person child1 = new Person("Jack", "Male", 5);
Person child2 = new Person("Lily", "Female", 3);
father.setChildren(new Person[]{child1, child2});
```
这里我们创建了一个父亲Tom,一个母亲Lucy,还有两个孩子Jack和Lily。我们将Tom的子女设置为Jack和Lily。接下来,我们来测试一下这些方法:
```java
System.out.println(father.getName()); // 输出:Tom
System.out.println(mother.getAge()); // 输出:30
father.addYear();
System.out.println(father.getAge()); // 输出:36
Person[] children = father.getChildren();
for (Person child : children) {
System.out.println(child.getName()); // 输出:Jack 和 Lily
}
```
我们先输出了father的名字,输出了mother的年龄。接着,我们调用了father的addYear()方法,将father的年龄加1,再次输出father的年龄,发现已经变成了36。最后,我们输出了father的子女的名字,可以看到孩子的名字都正确输出了。因此,我们可以得出结论,这个Person类的设计是正确的。
阅读全文