创建一个类Person,Person类有两个私有的属性,分别为String name和int age ,请写出他们的所有的可能的构造方法,重写Person类的toString()方法,完成后进行测试。
时间: 2024-03-14 10:42:57 浏览: 145
java代码-使用java解决在Person类的基础上,添加一个带参数的构造函数,参数分别为姓名,性别,年龄的源代码
好的,下面是Person类的实现代码:
```java
public class Person {
private String name;
private int age;
// 构造方法1:默认构造方法
public Person() {}
// 构造方法2:带参数的构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 构造方法3:带一个参数的构造方法
public Person(String name) {
this(name, 0);
}
// 构造方法4:带一个参数的构造方法
public Person(int age) {
this("", age);
}
// 重写toString()方法
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
}
```
上面的代码中,我们定义了4个构造方法,分别是:
1. 默认构造方法:创建一个空的Person对象。
2. 带参数的构造方法:创建一个具有指定姓名和年龄的Person对象。
3. 带一个参数的构造方法:创建一个具有指定姓名或年龄的Person对象,另一个属性默认为0或空字符串。
4. 带一个参数的构造方法:创建一个具有指定年龄的Person对象,姓名默认为空字符串。
我们还重写了toString()方法,用于输出Person对象的属性信息。
接下来,我们可以进行测试:
```java
public static void main(String[] args) {
Person p1 = new Person();
System.out.println(p1); // 输出:Person{name='', age=0}
Person p2 = new Person("Tom", 18);
System.out.println(p2); // 输出:Person{name='Tom', age=18}
Person p3 = new Person("Jerry");
System.out.println(p3); // 输出:Person{name='Jerry', age=0}
Person p4 = new Person(20);
System.out.println(p4); // 输出:Person{name='', age=20}
}
```
以上测试代码中,我们分别创建了4个Person对象,分别使用了不同的构造方法,输出了它们的属性信息。可以看出,构造方法的重载为我们提供了更加灵活的创建对象的方式。
阅读全文