黑马程序员技术交流社区

标题: this问题 [打印本页]

作者: 黑夜里的白猫    时间: 2013-5-30 10:14
标题: this问题
本帖最后由 黑夜里的白猫 于 2013-5-30 11:08 编辑

class  PersonDemo
{
        public static void main(String[] args)
        {
                Person p=new Person();
                p.printAge(10);
        }
}


class Person
{
        private int age;
        public void printAge(int age)
        {
                this.age=age;//this.age这个age是指的private int age 中的age么?
                System.out.println(age);
        }
}
作者: yin1031468524    时间: 2013-5-30 10:24
嗯,指的是成员变量的age
作者: 花开花落总相似    时间: 2013-5-30 10:31
标题: 哪个对象在调用this所在的函数,this就代表哪个对象。
本帖最后由 花开花落总相似 于 2013-5-30 10:36 编辑
  1. class Person    //毕老师的验证代码   
  2. {
  3. private String name;
  4. private int age;
  5. Person(int age)
  6. {
  7. this.age = age;
  8. }
  9. Person(String name)
  10. {
  11. this.name = name;
  12. }
  13. Person(String name,int age)
  14. {
  15. this.name = name;
  16. this.age = age;
  17. }

  18. public void speak()
  19. {
  20. System.out.println("name="+this.name+"...age="+this.age);
  21. this.show();
  22. }
  23. public void show()
  24. {
  25. System.out.println(this.name);
  26. }

  27. }

  28. class PersonDemo3
  29. {
  30. public static void main(String[] args)
  31. {



  32. Person p = new Person("lisi");
  33. Person p1 = new Person("zhangsan");
  34. p.speak();
  35. p1.speak();
  36. p.speak();
  37. }
  38. }
复制代码

作者: 风云    时间: 2013-5-30 10:38
在Person类printAge方法中,在这里this是为了表示这个age在Person这个类的age属性即是(private int age中的age)而不是参数age
作者: 秦久启    时间: 2013-5-30 10:42
楼上说的已经够详细的了。没错就是 private int age;这个age,建议你再复习一下this关键字的作用。




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