黑马程序员技术交流社区

标题: 关于父子类,有个小疑问想问一下。 [打印本页]

作者: 曹宇    时间: 2013-3-29 13:03
标题: 关于父子类,有个小疑问想问一下。
当父子类中有同名的变量的时候,那么创建子类对象,使用this关键字是不是访问的子类中的那个变量,使用super变量访问的是父类中的那么变量?

而当,父子类中的变量没有同名的时候,那么创建子类对象,无论使用this还是super都是使用的同一个变量?这俩没有区别?

一个小疑问,还希望大神们给予解答。谢谢啦!

作者: 宋耀冬    时间: 2013-3-29 13:20
1)        super和this的用法相同
2)        this代表本类应用
3)        super代表父类引用
4)        当子父类出现同名成员时,可以用super进行区分
5)        子类要调用父类构造函数时,可以用super语句。

你做的问题不是不可以 ,但是不建议怎样做,代码的阅读性会非常差,失去了继承的意义。


3)        定义继承需要注意:
a.        不要仅为了获取其他类中的某个功能而去继承、
b.        类与类之间有所属关系 is a  

作者: Just_Only    时间: 2013-3-29 13:36
this关键字
        (1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁  
        (2)this的使用场景
                A:用于区分同名成员变量和局部变量;
                B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象
                B:构造函数间调用
                        **这个时候,this(参数)必须作为第一条语句存在。

this和super的区别
                this:代表本类对象的引用。
                super:代表父类的存储空间。
作者: 曹宇    时间: 2013-3-29 13:50
  恩,我明白了,谢谢你们的回答。我想我说的是可以的,只是如楼上所说,这样代码的阅读性会很差,当没有同名变量出现的时候,仅仅用this就行了,在用super虽然是和this相同但是会让人觉得很混乱。。。

受教了,谢谢!
作者: 陈丽莉    时间: 2013-3-29 13:57
曹宇 发表于 2013-3-29 13:50
恩,我明白了,谢谢你们的回答。我想我说的是可以的,只是如楼上所说,这样代码的阅读性会很差,当没有同 ...

如果没有问题了,请将帖子分类改成【已解决】哦~




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