黑马程序员技术交流社区

标题: 有这样一道题 [打印本页]

作者: 骓逝    时间: 2016-3-19 23:25
标题: 有这样一道题
1.  下列选项中关于java中this关键字的说法错误的有(  )  
A. this关键字是一个对象的引用
B. this关键字可以用于引用当前类以外其他类型的对象
C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行
D. this可用于静态方法中

C这句话是对是错?


作者: CangYe    时间: 2016-3-19 23:37
C 没错,它说的是“重载”,没有说是类本身的构造函数。  D错了,静态方法中不能定义this/super
作者: 骓逝    时间: 2016-3-19 23:43
CangYe 发表于 2016-3-19 23:37
C 没错,它说的是“重载”,没有说是类本身的构造函数。  D错了,静态方法中不能定义this/super ...

我不明白在构造函数里面有this是什么用法,比如你写个构造方法重载代码来的来
作者: 骓逝    时间: 2016-3-19 23:46
还有B这个是对的还是错的,我认为是错的,,,,
作者: sxuing    时间: 2016-3-19 23:48
C没错的,可以调用,但要注意不要在两个构造函数中使用this相互调用
作者: Man_hui    时间: 2016-3-20 00:06
c是对的,比如现在有个无参的构造,那么在无参构造里面就可以这样,this.有参构造()    可以这样用,但是必须放在方法内的首行
作者: Man_hui    时间: 2016-3-20 00:07
Man_hui 发表于 2016-3-20 00:06
c是对的,比如现在有个无参的构造,那么在无参构造里面就可以这样,this.有参构造()    可以这样用,但是必 ...

意思就是说,在创建默认对象的时候调用无参构造的同时还能调用有参构造
作者: CangYe    时间: 2016-3-20 00:32
骓逝 发表于 2016-3-19 23:43
我不明白在构造函数里面有this是什么用法,比如你写个构造方法重载代码来的来 ...

见图片

44@41PWBXR_EGCD]LWDCE~G.png (140.15 KB, 下载次数: 17)

44@41PWBXR_EGCD]LWDCE~G.png

作者: CangYe    时间: 2016-3-20 00:59
骓逝 发表于 2016-3-19 23:46
还有B这个是对的还是错的,我认为是错的,,,,

。。。。

44@41PWBXR_EGCD]LWDCE~G.png (140.15 KB, 下载次数: 10)

44@41PWBXR_EGCD]LWDCE~G.png

作者: CangYe    时间: 2016-3-20 01:01
CangYe 发表于 2016-3-20 00:59
。。。。

刚才传错了

kkk.rar

780 Bytes, 下载次数: 263


作者: Banana_uSuOO    时间: 2016-3-20 09:38
d选项我也记不清了,有谁解答下
作者: yijincheng    时间: 2016-3-20 09:51
CangYe 发表于 2016-3-20 00:32
见图片

第二个this引用的仍然是本类的构造。并不是其他类型的对象啊。
作者: little_bear123    时间: 2016-3-20 09:53
B选项对吗
作者: CangYe    时间: 2016-3-20 09:55
yijincheng 发表于 2016-3-20 09:51
第二个this引用的仍然是本类的构造。并不是其他类型的对象啊。

兄弟,你说的是B选项把,那个在kkk.rar里有体现,图片是针对C选项的
作者: yijincheng    时间: 2016-3-20 14:16
CangYe 发表于 2016-3-20 09:55
兄弟,你说的是B选项把,那个在kkk.rar里有体现,图片是针对C选项的

D是明显错误的。这道题应该重点讲解的是迷惑选项B啊。
作者: CangYe    时间: 2016-3-20 15:00
yijincheng 发表于 2016-3-20 14:16
D是明显错误的。这道题应该重点讲解的是迷惑选项B啊。


作者: yijincheng    时间: 2016-3-20 15:24
CangYe 发表于 2016-3-20 15:00

辛苦 多谢了
作者: ameanboy    时间: 2016-3-20 18:52
d错了啊 楼上解释的很对 但是稍微有些复杂,你只要想,this指向的东西一定在堆中,而静态是存储在方法区中的,指向的对象都不一样,当然不能在静态中使用this




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