定义两个类 (student. studentDemo), 用this 关健字实現两个类之间通用
时间: 2024-09-23 10:09:53 浏览: 13
在面向对象编程中,`this`关键字是一个指向当前对象的引用,它通常用于区分成员变量和构造函数参数,以及在子类中访问父类的方法或属性。如果你想要创建两个相关的类`Student`和`StudentDemo`,并且通过`this`关键字在它们之间共享某些共通的行为或属性,可以这样做:
```java
class Student {
private String name;
private int id;
// 构造函数,初始化学生信息
public Student(String name, int id) {
this.name = name;
this.id = id;
}
// 共享的方法示例,这里通过this调用自身实例的方法
void displayInfo() {
System.out.println("Name: " + this.name);
System.out.println("ID: " + this.id);
}
}
class StudentDemo extends Student {
// 如果需要,可以在子类中添加额外的特性
public StudentDemo(String name, int id, String major) {
super(name, id); // 调用父类的构造函数
this.major = major; // 子类新增的属性
}
private String major;
@Override
// 这里覆盖或增强父类的displayInfo方法
void displayInfo() {
super.displayInfo(); // 先调用父类的方法
System.out.println("Major: " + this.major);
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
Student student = new Student("Alice", 1234);
student.displayInfo();
StudentDemo demo = new StudentDemo("Bob", 5678, "Computer Science");
demo.displayInfo();
}
}
```
在这个例子中,`StudentDemo`继承自`Student`,并使用了`this`关键字来调用父类的构造函数和方法。`displayInfo()`方法在子类中进行了扩展,先显示了从父类继承的属性,然后再加上子类特有的`major`字段。