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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乖睡觉咯 中级黑马   /  2013-8-15 17:57  /  1536 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我想知道一下 this 和 super 的区别, 没有理解的那么清楚,有点迷糊.  哪位大神可以详细的给讲解一下

3 个回复

倒序浏览
this指当前对象,如果调用构造函数只能调用本类的现实化构造函数
super调用父类构造函数的关键字它引用当前对象的直接父类中的成员
他们调用构造函数时,都必须放在首行
private String name;
setAge(String name)
{
    this.name = name;//这里的this就是代表当前对象
}

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
this用于区分局部变量和成员变量同名情况。
this代表它所在函数所属对象的引用。
简单说,哪个对象在调用this所在的函数,this就代表哪个对象。
super代表父类的引用
回复 使用道具 举报
  1. public class Box {
  2.      double weith;
  3.      double height;
  4.      double depth;
  5.      Box(double w,double h,double d){
  6.              //this总是调用该方法的一个引用,可以在当前类的类型所允许对象的任何地方将this作为一个引用
  7.              this.weith=w;
  8.              this.height=h;
  9.              this.depth=d;
  10.              
  11.      }
  12. }
  13. class BoxWeight extends Box{
  14.         double weight;
  15.         BoxWeight(double w,double h,double d,double m){
  16.                 super(w,h,d);  //调用父类的构造方法,BoxWeight不再初始化这三个值
  17.                 this.weight=m;
  18.                
  19.         }
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马