关键字this和super的用法
一、Java中 this关键字 的用法
1. 隐式参数的引用
众所周知,在一个类内部可以使用this关键字指向这个对象自己(在非static方法中)。这时,this类似于一个引用数据类型,它引用的是对象自己。
2. 调用该类的其他构造器
在JDK源代码中,会经常看到这种方式。通常由参数少的构造器添加一些默认参数后,调用参数多的构造器。这样做可以大大减少重复代码量。
二、Java中 super关键字 的用法
1. 调用超类的方法
Java中,如果当前子类已经重写了父类的getSalary()方法,那么可以通过super.getSalary()方法,调用超类的getSalary方法,从而与子类的方法进行区分。
2. 调用超类的构造器
超类的构造器必须被调用,且必须在子类构造器的开头(第一行)被调用。如果没有显式的调用,编译器将默认添加无参的父类构造器,如果父类没有无参构造器,将导致编译失败。
注意:
- 使用this或super调用其他构造器时,必须位于当前构造器的第一句代码。
- this可以表示当前对象的引用,而super并没有这个功能。