super 和this的区别
-
super关键字可以修饰属性、方法、构造方法
-
(1):当子类和父类属性重名时,可以通过"super.属性名"的方式调用父类中声明的属性
如果想区分类中属性和局部变量名,用“this.属性名” -
(2):子类重写父类方法以后,如果子类想再次调用父类被重写的方法,可以用“super.方法名()”
-
(3):super修饰构造方法通过在子类中使用“super(形参)”的方式来显示调用父类指定的构造方法。
-
注意:1.在构造方法内部,“super(形参)”必须声明在首行
2.在构造方法内部,this(形参)或者“super(形参)”只能出现一个
3.在构造方法内部,不显示的调用super(形参),默认会调用父类的无参构造方法 -
当局部变量和成员 变量重名时,方法会遵守就近原则,使用局部变量的值 可以用this关键字解决
-
格式 : this.成员变量
-
this关键字代表是当前对象(正在使用的对象或者正在创建的对象),通过谁调用的方法,谁就是this
-
this可以调用什么?
1.可以调用属性,方法,构造器
2.调用属性和方法格式:this.属性名,this.方法名
3.可以再构造器中通过"this(形参)"的方式调用本类中其他重载的构造器 -
注意:必须放在构造器首行