编写一个Java程序, 在程序中定义一个Person类,然后定义类Student继承自Person类, 再定义一个主类MCla类,在main()方法中, 生成Student类的对象stu, 并用stu调用相应的方法设置与输出相应类的成员变量,
时间: 2024-10-20 17:07:23 浏览: 35
当你编写Java程序时,首先可以创建一个名为`Person`的基础类,代表一般的人。接着,你可以定义一个名为`Student`的子类,它从`Person`类继承,并可能添加一些特有的属性或行为。以下是一个简单的示例:
```java
// 定义 Person 类
public class Person {
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 方法用于获取和设置名字
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 获取年龄的方法
public int getAge() {
return age;
}
}
// 子类 Student 继承自 Person 类
public class Student extends Person {
private String school; // 学生特有的属性
// 学生构造函数
public Student(String name, int age, String school) {
super(name, age); // 调用父类的构造函数
this.school = school;
}
// 获取学校的方法
public String getSchool() {
return school;
}
// 设置学校的重写方法
@Override
public void setSchool(String school) {
this.school = school;
}
}
// 主类 MainClass
public class MCla {
public static void main(String[] args) {
// 创建 Student 对象
Student stu = new Student("张三", 18, "清华大学");
// 设置并打印成员变量
stu.setName("李四");
stu.setSchool("北京大学"); // 通过子类引用调用重写后的setSchool方法
System.out.println("Name: " + stu.getName());
System.out.println("Age: " + stu.getAge());
System.out.println("School: " + stu.getSchool());
// 如果需要,还可以访问基础类Person的成员变量
// 例如: System.out.println("Base Age: " + stu.getAge()); 这将输出18,因为默认继承了Person的age
}
}
```
在这个例子中,`MainClass`的`main()`方法里,我们实例化了一个`Student`对象`stu`,然后通过这个对象设置了姓名和学校,并输出了它们的值。这展示了多态性的应用,即`stu`对象既可以作为`Person`类型的引用,也可以调用其子类特有的方法。
阅读全文