(1)定义Person类,包含3个成员变量name(姓名)、age(年龄)、sex(性别)和3个构造方法,其中无参构造方法初始化变量;一个有参构造方法的参数为与成员变量小脑瓜痛的参数列表,通过传递的参数初始化变量;另一个有参构造方法的参数为类的对象,通过对象初始化变量,然后定义showInfo()方法显示信息。(50分) (2)另外,定义City类继承Person类,包括成员变量name(城市名)和3个构造方法,使用super关键字调用父类的构造方法和成员变量对父类的成员变量进行初始化,然后对子类新增的成员变量进行初始化,最后重写showInfo()方法。
时间: 2024-01-22 10:02:14 浏览: 95
好的,这是一个Java编程题,我来帮你解答。
首先是Person类的定义:
```java
public class Person {
private String name;
private int age;
private String sex;
public Person() {
this.name = "Unknown";
this.age = 0;
this.sex = "Unknown";
}
public Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public Person(Person person) {
this.name = person.name;
this.age = person.age;
this.sex = person.sex;
}
public void showInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Sex: " + sex);
}
}
```
然后是City类继承Person类:
```java
public class City extends Person {
private String cityName;
public City() {
super();
this.cityName = "Unknown";
}
public City(String name, int age, String sex, String cityName) {
super(name, age, sex);
this.cityName = cityName;
}
public City(Person person, String cityName) {
super(person);
this.cityName = cityName;
}
@Override
public void showInfo() {
super.showInfo();
System.out.println("City Name: " + cityName);
}
}
```
在Person类中,我们定义了一个无参构造方法和两个有参构造方法。无参构造方法将变量初始化为默认值,有参构造方法可以通过传递参数或者对象初始化变量。showInfo()方法用于显示信息。
在City类中,我们使用super关键字调用父类的构造方法和成员变量对父类的成员变量进行初始化,然后对子类新增的成员变量进行初始化。同时,我们重写了showInfo()方法,先调用父类的showInfo()方法,再显示新增的成员变量。
这样,一个包含继承关系的类的定义就完成了。
阅读全文