黑马程序员技术交流社区

标题: this super [打印本页]

作者: yibo924    时间: 2014-12-10 23:57
标题: this super
this.变量名  和 super.变量名
举个栗子来说明他们的不同之处
作者: 叫我王大锤    时间: 2014-12-11 00:19
我是在毕姥爷继承这节看到的,this代表本内类对象的信用,super是父类。
作者: -律-    时间: 2014-12-11 01:21
Fu f = new Fu();
f.(方法)
实例化的对象f里的方法
如果方法体里用的this方法或this变量说明调用的是当前类的方法
而如果是super则是调用父类的方法
不知道我这么说准不准确
作者: -律-    时间: 2014-12-11 01:25
哥们,你的技术分怎么这么多呀,怎么赚取的?花了多长时间,和我唠唠呗
作者: lgc黑马    时间: 2014-12-11 08:55
本类所包含的值
作者: 孔令程    时间: 2014-12-11 09:08
this代表对本类成员的引用,super可以在调用父类的构造方法使用,super要放在代码块的第一行!
作者: zmhlnrs    时间: 2014-12-11 11:39
super()父类引用  this.本类引用
在子类对象进行初始化时,子类的构造函数第一行默认super(),就会访问到父类的构造函数。
作者: fatesabering    时间: 2014-12-11 12:32
当子类和父类有同名变量时,用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
this.变量名 表示的是本类对象的引用变量名,super.变量名 表示的是父类对象引用的变量名。举个例子:A与B同样具有质量的特征,这个质量便是变量名,B是A类的子类。在B类中需要访问B的质量那就是:this.变量名,而要访问A的质量则需要用:super.变量名。
作者: 南柯一梦境    时间: 2014-12-11 13:31
劝你还是看看毕老师的那节视频课去吧,比什么都详细好理解
作者: l763631191    时间: 2014-12-11 14:16
我觉得卤煮是故意来发帖的!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2