一些记录

this 关键字

当前实例的引用:this 关键字用于指代当前对象的实例。
区分成员变量和局部变量:当成员变量与局部变量重名时,可以使用 this 来区分成员变量。例如,在构造器或方法中,this.variable 指的是当前实例的成员变量 variable,而简单的 variable 指的是局部变量。
在构造器中调用其他构造器:在一个构造器内部,this() 可以用来调用同一个类中的另一个构造器,以避免代码重复。需要注意的是,this() 调用必须是构造器中的第一个语句。
方法链:在方法中返回当前对象的引用 (return this;),可以实现方法链调用,即多个方法调用可以在单行中连续执行。

super 关键字
父类的引用:super 关键字用于指代当前对象的父类实例。
访问父类的成员:当子类中的成员(方法或变量)与父类中的成员重名时,可以使用 super 来引用父类的成员。例如,super.variable 访问的是父类的成员变量 variable。
在子类构造器中调用父类构造器:super() 用于从子类的构造器中调用父类的构造器。如果子类构造器没有显式地调用父类构造器,编译器会默认插入一个无参的 super() 调用。和 this() 一样,super() 调用必须是子类构造器中的第一个语句。
访问父类的方法:在子类中,可以使用 super.method() 来调用父类中被覆盖的方法。

点击查看代码
class Person {
    String name;

    Person(String name) {
        this.name = name; // 使用 this 区分成员变量和构造器参数
    }

    void introduceSelf() {
        System.out.println("My name is " + this.name); // 使用 this 引用当前实例的成员变量
    }
}

class Employee extends Person {
    String company;

    Employee(String name, String company) {
        super(name); // 使用 super 调用父类的构造器
        this.company = company; // 使用 this 区分成员变量和构造器参数
    }

    @Override
    void introduceSelf() {
        super.introduceSelf(); // 使用 super 调用父类中被覆盖的方法
        System.out.println("I work at " + this.company); // 使用 this 引用当前实例的成员变量
    }
}

posted @ 2024-04-10 10:00  充满希望与信心  阅读(13)  评论(0)    收藏  举报