4、请定义类Person,并写出Person类的三个构造方法,一个无参构造方法,一个初始化姓名的构造方法和一个初始化姓名、年龄的构造方法。
时间: 2024-03-26 19:36:21 浏览: 21
好的,下面是Java类Person的代码示例,包含了三个构造方法:
```java
public class Person {
private String name;
private int age;
public Person() {
// 无参构造方法
}
public Person(String name) {
// 初始化姓名的构造方法
this.name = name;
}
public Person(String name, int age) {
// 初始化姓名和年龄的构造方法
this.name = name;
this.age = age;
}
// 省略getter和setter方法
}
```
其中,第一个构造方法是无参构造方法,第二个构造方法是初始化姓名的构造方法,第三个构造方法是初始化姓名和年龄的构造方法。在构造方法中,使用了关键字`this`来引用当前对象的成员变量。这样,我们就可以在创建对象时,使用不同的参数列表来调用不同的构造方法,以便初始化对象的属性。
相关问题
1. 设计一个Person(人)类,包括姓名、年龄和血型等属性。编写构造方法用于初始化每
个属性,并提供获取和设置属性的方法。
代码示例:
```java
public class Person {
private String name;
private int age;
private String bloodType;
public Person(String name, int age, String bloodType) {
this.name = name;
this.age = age;
this.bloodType = bloodType;
}
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;
}
public String getBloodType() {
return bloodType;
}
public void setBloodType(String bloodType) {
this.bloodType = bloodType;
}
}
```
使用示例:
```java
Person person = new Person("张三", 25, "A");
System.out.println(person.getName()); // 输出:张三
person.setAge(26);
System.out.println(person.getAge()); // 输出:26
person.setBloodType("B");
System.out.println(person.getBloodType()); // 输出:B
```
Python写定义一个 person 类; 定义一个无参构造方法,在方法中初始化 name 属性; 创建 person 类的实例对象; 销毁 name 属性; 打印 name ,查看输出。
好的,以下是 Python 代码实现:
```python
class Person:
def __init__(self):
self.name = "默认姓名"
person = Person()
del person.name
print(person.name)
```
输出结果为:
```
AttributeError: 'Person' object has no attribute 'name'
```
因为我们在 `__init__` 中初始化了 `name` 属性,但在实例化后又将其删除了,所以在打印时会报错。