编写一个Person类,其中包括人的姓名、性别、年龄、子女等属性,并封装有获得姓名、获得年龄、增加一岁、获得子女、设置子女等方法,其中子女为一个Person数组。用某实际数据测试该类的设计。
时间: 2024-11-25 17:32:17 浏览: 11
java代码-使用java构造Person类。包括姓名(name),性别和年龄(age)的源代码
5星 · 资源好评率100%
当然,我们可以创建一个名为`Person`的类来表示一个人,包含姓名(name)、性别(gender)、年龄(age)以及一个`Person`类型的数组作为子女(children)。以下是这个类的简单设计:
```java
public class Person {
private String name;
private char gender; // 'M' for Male, 'F' for Female
private int age;
private Person[] children;
// 构造函数
public Person(String name, char 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 incrementAge() {
age++;
}
// 设置子女(用一个Person对象替换)
public void setChild(Person child) {
if (children.length < 1) {
children = new Person[1];
}
children[0] = child;
}
// 添加一个子女到子女列表
public void addChild(Person child) {
Person[] tempChildren = Arrays.copyOf(children, children.length + 1);
tempChildren[tempChildren.length - 1] = child;
children = tempChildren;
}
// 获取子女
public Person[] getChildren() {
return children;
}
// 测试示例
public static void main(String[] args) {
Person parent = new Person("张三", 'M', 40);
Person child1 = new Person("李四", 'F', 18);
Person child2 = new Person("王五", 'M', 15);
parent.addChild(child1);
parent.addChild(child2);
System.out.println(parent.getName()); // 输出:张三
System.out.println(parent.getAge()); // 输出:40
System.out.println(Arrays.toString(parent.getChildren()));
}
}
```
在这个例子中,我们创建了一个`Person`对象,然后添加了两个子女。测试部分展示了如何获取信息和操作子女。
阅读全文