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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yibo924 中级黑马   /  2014-12-10 23:57  /  1199 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

this.变量名  和 super.变量名
举个栗子来说明他们的不同之处

10 个回复

倒序浏览
叫我王大锤 来自手机 中级黑马 2014-12-11 00:19:54
沙发
我是在毕姥爷继承这节看到的,this代表本内类对象的信用,super是父类。
回复 使用道具 举报
Fu f = new Fu();
f.(方法)
实例化的对象f里的方法
如果方法体里用的this方法或this变量说明调用的是当前类的方法
而如果是super则是调用父类的方法
不知道我这么说准不准确
回复 使用道具 举报
哥们,你的技术分怎么这么多呀,怎么赚取的?花了多长时间,和我唠唠呗
回复 使用道具 举报
本类所包含的值
回复 使用道具 举报
孔令程 来自手机 初级黑马 2014-12-11 09:08:46
地板
this代表对本类成员的引用,super可以在调用父类的构造方法使用,super要放在代码块的第一行!
回复 使用道具 举报
zmhlnrs 中级黑马 2014-12-11 11:39:44
7#
super()父类引用  this.本类引用
在子类对象进行初始化时,子类的构造函数第一行默认super(),就会访问到父类的构造函数。
回复 使用道具 举报
当子类和父类有同名变量时,用this代表本类对象的引用,super代表父类变量的引用
  1. package day1210;
  2. class Fu
  3. {
  4.         int num=1;
  5.        
  6.         void speak()
  7.         {
  8.                 System.out.println("vb");
  9.         }
  10. }
  11. class Zi extends Fu//子类中只有2个函数,父类中的那个同名函数被覆盖,不运行
  12. {
  13.         int num=2;
  14.        
  15.         void speak()//当子类沿袭父类的功能 但想定义子类特有内容时,没必要定义新功能,
  16.                                 //保留父类的功能定义,并重写功能内容
  17.         {
  18.                 System.out.println("java");
  19.         }
  20.         void print()
  21.         {
  22.                 System.out.println("num="+super.num);//super代表父类变量的引用,与this对应
  23.         }
  24. }

  25. class  test01
  26. {
  27.         public static void main(String[] args)
  28.         {
  29.                 Zi z=new Zi();
  30.                 z.speak();
  31.                 z.print();
  32.         }
  33. }
复制代码
回复 使用道具 举报
沙子 中级黑马 2014-12-11 13:13:11
9#
this.变量名 表示的是本类对象的引用变量名,super.变量名 表示的是父类对象引用的变量名。举个例子:A与B同样具有质量的特征,这个质量便是变量名,B是A类的子类。在B类中需要访问B的质量那就是:this.变量名,而要访问A的质量则需要用:super.变量名。
回复 使用道具 举报
劝你还是看看毕老师的那节视频课去吧,比什么都详细好理解
回复 使用道具 举报
我觉得卤煮是故意来发帖的!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马