编写一个Java程序, 在程序中定义一个Person类,然后定义类Student继承自Person类, 再定义一个主类MCla类,在main()方法中, 生成Student类的对象stu, 并用stu调用相应的方法设置与输出相应类的成员变量,使程序运行
时间: 2024-10-17 20:11:47 浏览: 70
在Java中,你可以按照以下步骤编写这样一个程序:
首先,定义一个基础类`Person`,包含一些通用属性和方法:
```java
public class Person {
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 方法声明(默认访问)
public void displayInfo() {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
}
```
接着,创建一个继承自`Person`的子类`Student`,增加特有的属性或方法:
```java
public class Student extends Person {
private String major;
// 子类构造函数
public Student(String name, int age, String major) {
super(name, age); // 调用父类构造函数
this.major = major;
}
// 子类新增的方法
public void displayMajor() {
System.out.println("Major: " + major);
}
}
```
最后,在`MClass`(假设这里就是主类名)中,创建并使用`Student`对象,并调用相关方法:
```java
public class MClass {
public static void main(String[] args) {
// 创建一个Student对象
Student stu = new Student("Tom", 20, "Computer Science");
// 设置和输出Person类的成员变量
stu.displayInfo();
// 输出Student类的成员变量
stu.displayMajor();
}
}
```
当你运行这个`MClass`的`main()`方法时,它会先显示`Person`类的信息,然后再展示`Student`类特有的信息——专业。这就是多态的一个简单示例,尽管`stu`引用的是`Student`对象,但是`displayInfo()`方法是由其父类`Person`定义的,体现了动态绑定(即运行时确定调用哪个版本的方法)。
阅读全文