在 Java 中,this
和 super
都是关键字,表示当前对象和父类对象。
this
关键字可以用于以下几种情况:
- 引用当前对象的成员变量,方法和构造方法,用于区分局部变量和成员变量重名的情况;
- 调用当前类的另外一个构造方法,语法为
this()
; - 作为方法的返回值,表示当前对象;
- 作为方法的参数传递给其他方法。
而 super
关键字通常用于以下几种情况:
- 调用父类的构造方法,语法为
super()
; - 引用父类的成员变量和方法,用于区分子类和父类成员变量或方法重名的情况;
- 作为方法的返回值,表示父类对象;
- 作为方法的参数传递给其他方法。
因此,this
关键字主要用于区分同名的局部变量和成员变量,或者在构造方法中调用其他构造方法,而 super
关键字主要用于调用父类构造方法或者父类的成员变量和方法。