码迷,mamicode.com
首页 > 其他好文 > 详细

super和this

时间:2016-08-10 16:17:29      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

1. super和this的区别

super:父类对象引用,super()调用父类对象构造器,super.*访问父类对象属性

this:当前对象引用,this()调用当前对象其他构造器,this.*访问当前对象属性

2. 问题:this()和super()不能同时出现

构造函数中默认调用super(),this()调用当前对象其他构造函数,而其他构造函数同样默认调用super(),如果同时写了this()和super(),那么实例化一个对象运行两次super(),可能一个方法或者属性初始化两次,这是不安全的

3. 问题:this()和super()必须放在构造器第一行

java中不允许调用没有初始化的成员,而如果在this()前面已经使用了成员变量,那么就会出现异常,同理super()调用父类构造器,而父类构造器中可以访问子类的方法,如果此时子类的方法使用了成员变量,同样会出现问题

 

super和this

标签:

原文地址:http://www.cnblogs.com/windyrain/p/5756973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!