JAVA 中super 和this 的区别?
11个回答
展开全部
一、指代不同
1、super:是当前对象里面的父对象的引用。
2、this:指的是当前对象的引用。
二、调用函数不同
1、super:调用基类中的某一个构造函数(应该为构造函数中的第一条语句) 。
2、this:调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)。
三、引用对象不同
1、super:引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)。
2、this:代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)。
参考资料来源:百度百科-Java关键字super
参考资料来源:百度百科-java关键字
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this表示当前对象,也就是当前类对象,super表示当前类的父类。
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:aa();B中也有个方法: aa();
那么在A 中用this.aa()调用的就是A中定义的方法,而super.aa()调用的就是A的父类B中定义的方法aa();
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:aa();B中也有个方法: aa();
那么在A 中用this.aa()调用的就是A中定义的方法,而super.aa()调用的就是A的父类B中定义的方法aa();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-07-28 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
this表示当前对象,也就是当前类对象,super表示当前类的父类。
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:aa();B中也有个方法: aa();
那么在A 中用this.aa()调用的就是A中定义的方法,而super.aa()调用的就是A的父类B中定义的方法aa();
举例:你定义一个新的类:A,这个A继承了类B,也就是说B是A的父类。那么如果A中 有个方法:aa();B中也有个方法: aa();
那么在A 中用this.aa()调用的就是A中定义的方法,而super.aa()调用的就是A的父类B中定义的方法aa();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
super特指本类的父类,
this特指当前类。
呵呵,
应该是这样,不过我们用this.***都是指代本类的一些静态的属性或者方法,
可省略.
好像一般的都是把super用在构造函数中。
this特指当前类。
呵呵,
应该是这样,不过我们用this.***都是指代本类的一些静态的属性或者方法,
可省略.
好像一般的都是把super用在构造函数中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询