在Java中,this关键字可以调用当前类中的属性、方法和构造方法。使用super关键字可以在子类中引用父类的属性、方法和构造方法。主要的使用形式有以下几种:
- 在子类中调用父类的属性和方法。(super.tell();super.PI;)
- 在子类中调用父类的构造方法。(super(name,age);)
比较this和super
比较 | this | super |
访问属性 | 用于访问实例变量,以区别局部变量。如果在 子类中没有该属性,则尝试从父类中寻找 | 访问父类中属性,但需要权限允许 |
调用方法 | 隐含调用本类方法。如果本类没有,则尝试从 父类中寻找 | 访问父类中方法,但需要权限允许 |
用于构造方法 | 调用本类的其他构造方法,必须放在构造方法 的第一行可执行代码 | 调用父类中特定的构造方法,必须房子子类 构造方法的第一行可执行代码 |
其他用途 | 表示当前对象,可以将自己作为参数传递 | 不能作为方法的参数传递 |