本帖最后由 龚正军 于 2012-5-7 01:43 编辑
虽然就几行代码,但涉及的基础问题不少,楼主问的问题也含糊不清,不知道你的盲点在哪儿?但是我根绝我猜测的方向跟你解释下:
首先:this.name = name; 你的第一个问题,你要弄清楚this是什么,具体this的定义是:代表它所在函数所属对象的引用。我给你通俗解释就是this你要搞清楚它首先代表一个“对象”,并且这个“对象”只能是本类,并且调用到this所在函数的那个“对象”。
比如:------------,就如同英语里面介绍人一样this is John . this is Mike (这里面的 this开始是john,后来变成Mike.但是John和Mike都是你介绍的人类,John和mike都是属于人这个“类“中的一个对象,this代表了这个“对象”)
同理:class Zi extends Fu ......................中的this代表的有是一个本类对象,就是使用这个方法的对象(那个东西或则我们称他为类),很明显里面只有2个类一个zi,一个是FU,很明显是ZI是本类,那么他代表的就是ZI这类的用他时候的“对象”。
------------------------------------------割掉,都焦了-------------------------------------------------
那么SUPER就跟THIS一样了,只不过SUPER代表的是本类继承的父类而且,其他都一样。class Zi extends Fu 中写得很清楚继承的是Fu类,SUPER肯定代表的是Fu类并且使用SUPER的该类对象。
但是super(name);
这句话代表的就不仅仅是SUPER本身了,他还代表类在初始化的时候以及构造函数。这部分应该不会有盲点和难点,你可以从新看下“构造函数”那部分视频!!!
------------------希望能在盲点上帮助你。 |