this关键字
(1)this总是指向当前对象,每个对象都有一个this指向它。this代表它所在函数所属对象的引用.
(2)构造方法的调用
在继承关系里要生成子类对象,首先要生成父类对象
a、任何子类的构造方法都会去调用父类的构造方法
b、任何类都有构造方法,如果程序员自己不定义,则系统会加上一个默认构造方法,
如果定义了则不会加默认构造方法(空参,空实现);
c、任何子类的构造方法第一行一定是super(...)或者this(....);
如果程序不这样则系统会默认加上super();
this(....): 调用本类的其它构造方法,它只能出现在构造方法的第一行(涉及到构造方法的重载)
super(....):调用父类构造方法,该语句只能出现在构造方法的第一行
super():调用父类中无参的构造函数
(3)super与this的区别
super.XXX 调用父类同名的属性和方法
this.XXX 调用本类的同名属性和方法
super() 调用父类构造函数:
this() 调用本类的其它构造函数: 只能出现在第一行 |
|