A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhouzhiming88 中级黑马   /  2015-5-22 00:32  /  516 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关于this关键字,它可以调用构造方法。格式是:this();  问题来了。为什么在子父类构造方法中子类调用父类的构造方法时,调用父类的无参构造和有参构造方法时,分别怎么调用??为什么一般不用this来调用 ??

5 个回复

倒序浏览
子类调用父类是super呀
回复 使用道具 举报
this可用于任何实例方法内,指向当前对象,也可以指向其调用当前方法的对象或在需要当前类型的对象引用时使用。当一个类的属性(成员变量)名与访问该属性的方法参数名相同时,则需要使用this关键字来访问类中的属性,以区别类的属性和方法中的参数。
回复 使用道具 举报
this是当前对象,super才能调用父类
回复 使用道具 举报
子类调用父类的构造方法时,要用super();
super(); :会访问父类中空参数的构造函数,而且子类中所有的构造函数默认的第一行都是super();
如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
而this(); 是用于本类中的构造函数之间进行相互调用。
this语句只能定义在构造函数的第一行。因为初始化要先执行。
当然:子类的构造函数第一行也可以手动指定this语句来访问本类中的构造函数。
但是,子类中至少会有一个构造函数来访问父类中的构造函数。
回复 使用道具 举报
this是调用本类对象,调用父类对象要用super
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马