A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 执笔画梦 中级黑马   /  2014-12-31 22:26  /  1107 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一次发帖,求管理员给些技术分啊。求下面代码的输出结果

  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代表哪个对象?

5 个回复

倒序浏览
Exercises6_2.count++;
Exercises6_2.this.count++;
这俩个是一样滴。
回复 使用道具 举报
this这个关键字,是,谁引用这个对象,this便代表谁,
你的代码里面, Exercises6_2 g3 = new Exercises6_2();
创建了g3这个对象,指向Exercises6_2(),所以程序运行的时候,Exercises6_2()里面的this,其实指代的就是g3.
个人愚见,楼主可以看一下

点评

谢谢,说得好详细  发表于 2015-1-1 21:30
回复 使用道具 举报
this这个关键字  
2个内容一样,this可以再外面找
回复 使用道具 举报
查看内部类机制,就明白了内部类引用外部类成员就是:Outer.this.xx.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马