编写一个people父类,父类中定义类成员国籍,定义一个子类student,定义一个类成员学校,实验类成员与对象成员的输出差异。
时间: 2024-10-21 17:10:20 浏览: 31
python 定义一个 people 类 示例
在Java中,我们可以编写一个简单的`People`父类来表示一般的人,包含一个类成员变量如`nationality`(国籍)。然后创建一个子类`Student`,在这个子类中增加特定于学生的类成员变量如`school`(学校)。下面是一个示例:
```java
public class People {
private String nationality; // 父类成员
public People(String nationality) {
this.nationality = nationality;
}
// 输出国籍的方法
public void printNationality() {
System.out.println("Nationality: " + nationality);
}
}
public class Student extends People {
private String school; // 子类成员
public Student(String nationality, String school) {
super(nationality); // 调用父类构造函数
this.school = school;
}
// 输出学校的方法,继承自父类并添加了新的内容
@Override
public void printNationality() {
super.printNationality(); // 先打印国籍
System.out.println("School: " + school);
}
// 新增的子类输出方法
public void printSchool() {
System.out.println("School: " + school);
}
}
// 实验类成员与对象成员的输出差异
public class Main {
public static void main(String[] args) {
// 创建Person对象
People person = new People("China");
person.printNationality(); // 输出 "Nationality: China"
// 创建Student对象,并通过父类引用
Student student = new Student("USA", "Harvard University");
person.printNationality(); // 输出 "Nationality: USA" (子类覆盖了父类的printNationality)
student.printSchool(); // 输出 "School: Harvard University"
}
}
```
在这个例子中,当我们通过`person`对象调用`printNationality()`方法时,会显示子类`Student`中的实现,因为子类覆盖了这个方法。而`printSchool()`则是子类特有的方法,只能通过`student`对象访问。
阅读全文