黑马程序员技术交流社区

标题: 关于this关键字的问题,求帮忙 [打印本页]

作者: dg216888    时间: 2015-11-13 22:12
标题: 关于this关键字的问题,求帮忙
class person_1
{
        private String name;
        private int age;
        {
                System.out.println("person is run");
        }
         person_1()//构造函数和类同名
        {
                System.out.println("A.name="+name+"  "+"A.age="+age);
        }
        {
                //name = n;
                this.name = name;
                System.out.println("B.name="+name+"  "+"B.age="+age);
        }
作者: dg216888    时间: 2015-11-13 22:13
为什么我用this关键字,得到的结果还是null,并没有把字符串赋为name,楼下上结果,求帮助
作者: dg216888    时间: 2015-11-13 22:16

class duixiang4
{
        public static void main(String[] args)
        {
                person_1 p2 = new person_1("tom");
        }
得到的结果还是null,但是用name = n这个语句就可以成功的得到
tom  , 0 这个结果

作者: dg216888    时间: 2015-11-13 22:20
自挽,求大神!
作者: 小笨笨天    时间: 2015-11-13 22:24
无语  不知道你到底要干什么?
作者: dg216888    时间: 2015-11-13 22:29
小笨笨天 发表于 2015-11-13 22:24
无语  不知道你到底要干什么?

就是构造函数用到this关键字,如果运行的是被注释掉的name=n,运行结果是tom和0,
但是用this关键字的代码运行,
this.name = name .的话
运行结果显示的就是null,不知道哪里错了
作者: dg216888    时间: 2015-11-13 22:41
这是代码和结果的截图

QQ截图20151113224001.png (22.42 KB, 下载次数: 165)

代码

代码

结果1.png (5.3 KB, 下载次数: 157)

结果

结果

作者: dg216888    时间: 2015-11-13 22:42
小笨笨天 发表于 2015-11-13 22:24
无语  不知道你到底要干什么?

下面有代码和运行结果的截图,能帮着看看么?
作者: 小笨笨天    时间: 2015-11-13 22:47
dg216888 发表于 2015-11-13 22:41
这是代码和结果的截图

你把 this.name = name 改为  this.name = n 试试
作者: dg216888    时间: 2015-11-13 23:01
小笨笨天 发表于 2015-11-13 22:47
你把 this.name = name 改为  this.name = n 试试

解决了,嗯,是person_1(String n改成name就行了),没注意,搞了一晚上,还是谢谢你了
作者: 小笨笨天    时间: 2015-11-13 23:12
dg216888 发表于 2015-11-13 23:01
解决了,嗯,是person_1(String n改成name就行了),没注意,搞了一晚上,还是谢谢你了 ...

没事   我也是菜鸟一枚  开始都注意细节
作者: ljx550429    时间: 2015-11-14 16:31
哈哈我也错了好几次~~主要是细节啊~~~




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