super 关键字:
super 关键字代表父类对象,其主要用途有:
- 在子类的构造方法中,调用父类的构造方法。
- 在子类的方法中,访问父类的属性和方法。
调用父类构造方法:
- 若在子类的构造方法中,没有明确写明调用父类的构造方法,则系统会自动调用父类不带参数的构造方法,即执行 super()。
- 此时,如果父类没有提供不带参数的构造方法,则会产生错误,编译失败。
访问父类的属性和方法:
- 当子类的属性与父类的属性同名时,可以使用 “super.属性” 来调用父类属性。
- 当子类重写了父类的方法时,可以使用 “super.方法名()” 来访问父类方法。
this 关键字:
this 关键字代表当前类将来产生的对象,主要用途是:
- 获取当前类的对象的引用,以便解决变量的命名冲突和不确定性问题。
- 例如,当方法的参数或方法中的局部变量与类的属性同名时,因为产生冲突,所以类的属性就被屏蔽,此时需要通过使用 "this.属性名" 的方式才能访问类的属性。