用法小结:this 1.表示对当前对象的引用 2.对构造器的引用
super 1.表示对父类对象的引用 2.对父类构造器的引用
注意事项 :1.this和super对构造器引用时在方法只能用一次并且必须出现在第一行。
2.this和super不能在static方法中使用。
疑问和理解:1.有人担心super对父类成员引用是否因为父类成员的未初始化而出现错误。
从结果可以看出新建一个子类对象,首先会默认新建一个父类对象,如果涉及多重继承,就从顶端父类开始创建。
可以推论出编译器在子类的构造器第一行默认添加了 super()语句,完成对父类的构建。
2.为什么在static 方法中不能使用this 和 super关键字。
首先明确的一点是对static方法的调用是以ClassName.Function().形式进行的。我们可以看出并没有创建实例对象的过程。而this和super均需要对对象的引用。所以很容易理解不能使用的原因了。
扩展:内部类有2个特点:
1 内部类对象的创建依赖于外部类对象;
2 内部类对象持有指向外部类对象的引用。
是否会引起你的联想。
---------------------------------------------------------------------------------------------------------------------------------------------------------
做一个有情操的技术男
---------------------------------------------------------------------------------------------------------------------------------------------------------