编写一个Java程序, 在程序中定义一个Person类,然后定义类Student继承自Person类,再定义一个主类MCla类,
时间: 2024-10-16 19:21:15 浏览: 39
当然可以。在Java中,首先我们创建一个`Person`类作为基类,然后创建一个`Student`类作为其子类,表示学生这个特定的角色。最后,在`MClass`类中演示继承和实例化。这是一个简单的例子:
```java
// Person类定义
class Person {
private String name;
// 构造函数
public Person(String name) {
this.name = name;
}
// 展示姓名的方法
public void displayName() {
System.out.println("This is a person named " + name);
}
}
// Student类继承自Person
class Student extends Person {
// 学生特有的属性,比如学号
private int studentID;
// 学生构造函数,包含父类的参数
public Student(String name, int studentID) {
super(name); // 调用父类的构造函数
this.studentID = studentID;
}
// 显示名字和学号的方法
@Override
public void displayName() {
super.displayName(); // 先显示父类的名字
System.out.println("And their student ID is " + studentID);
}
}
// 主类MClass
public class MClass {
public static void main(String[] args) {
// 创建一个Person类型的引用并指向Student对象
Person person = new Student("Alice", 1234);
// 调用displayName方法,因为是Person类型,会调用Student的覆盖版本
person.displayName();
}
}
```
在这个程序中,`MClass`的`main`方法里,虽然声明的是`Person`类型的变量`person`,但实际上我们创建了一个`Student`对象,并通过它调用了`(displayName)`方法,这就是多态性的体现。
阅读全文