黑马程序员技术交流社区

标题: 求解一道关于this的题 [打印本页]

作者: 执笔画梦    时间: 2014-12-31 22:26
标题: 求解一道关于this的题
第一次发帖,求管理员给些技术分啊。求下面代码的输出结果

  1. package cn.cast;
  2. public class Exercises6_2 {
  3.         private static int count;//10
  4.         private String name;
  5.         public class Student {
  6.                 private int count;
  7.                 private String name;
  8.                 public void Output(int count) {
  9.                         count++;
  10.                         this.count++;
  11.                         Exercises6_2.count++;
  12.                         Exercises6_2.this.count++;
  13.                         System.out.println(count + " " + this.count + " "
  14.                                         + Exercises6_2.count + " " + Exercises6_2.this.count++);
  15.                 }
  16.         }
  17.         public Student aStu() {
  18.                 return new Student();
  19.         }
  20.         public static void main(String args[]) {
  21.                 Exercises6_2 g3 = new Exercises6_2();
  22.                 g3.count = 10;
  23.                 Exercises6_2.Student s1 = g3.aStu();
  24.                 s1.Output(5);
  25.         }
  26. }
复制代码
Exercises6_2.count++;
Exercises6_2.this.count++;

上面这两个是一样的吗?this代表哪个对象?


作者: Eagle    时间: 2015-1-1 09:06
Exercises6_2.count++;
Exercises6_2.this.count++;
这俩个是一样滴。
作者: 赵涛涛    时间: 2015-1-1 10:42
this这个关键字,是,谁引用这个对象,this便代表谁,
你的代码里面, Exercises6_2 g3 = new Exercises6_2();
创建了g3这个对象,指向Exercises6_2(),所以程序运行的时候,Exercises6_2()里面的this,其实指代的就是g3.
个人愚见,楼主可以看一下
作者: 常尚全    时间: 2015-1-1 11:14
this这个关键字  
2个内容一样,this可以再外面找
作者: hello_csu    时间: 2015-1-1 15:23
查看内部类机制,就明白了内部类引用外部类成员就是:Outer.this.xx.




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