定义Person类与其子类Student类,在程序中使用super、super()、this、super(),内容自拟。
时间: 2023-06-01 09:04:59 浏览: 228
好的,接下来我会回答你的问题。
对于定义Person类和其子类Student类,在程序中使用super、super()、this、super(),我可以给出如下例子示范:
```
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void sayHello() {
System.out.println("Hello, my name is " + name + ", and my age is " + age + ".");
}
}
public class Student extends Person {
private int grade;
public Student(String name, int age, int grade) {
super(name, age);
this.grade = grade;
}
@Override
public void sayHello() {
super.sayHello();
System.out.println("I'm a student, and my grade is " + grade + ".");
}
}
```
在这段程序中,我们定义了Person类和其子类Student类。其中,Person类有两个成员变量name和age,并且有一个构造函数和一个成员函数sayHello()。Student类继承了Person类,并且新增了一个成员变量grade,并且有一个构造函数和一个重写了的成员函数sayHello()。
现在我们来看一下涉及到super、super()、this、super()的地方:
1. 在Student类的构造函数中,我们使用了super(name, age)来调用Person类的构造函数,以便初始化继承自Person类的成员变量name和age。
2. 在重写的sayHello()函数中,我们使用了super.sayHello()来调用父类Person类的成员函数sayHello(),以便输出name和age的信息。
3. 在重写的sayHello()函数中,我们使用了this.grade来引用Student类自己的成员变量grade,以便输出Student类自己的信息。
4. 在重写的sayHello()函数中,我们并没有使用super(),因为在这个例子中并没有需要调用父类的构造函数。
希望这个例子能够解答你的问题!
阅读全文