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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 在乎.. 中级黑马   /  2013-7-12 20:07  /  1082 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 在乎.. 于 2013-7-12 22:09 编辑
  1. public class test {
  2.          private static int i=50;
  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO 自动生成的方法存根
  8.         System.out.println(i);
  9.         new Thread(new Runnable() {
  10.                         
  11.                         @Override
  12.                         public void run() {
  13.                                 // TODO 自动生成的方法存根
  14.                                 System.out.println("我是"+this.i--);
  15.                         }
  16.                 });
  17.         }

  18. }
复制代码
如代码,无法引用this.i ,如果要引用成员变量,则要怎样做?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
本帖最后由 zhou5852 于 2013-7-12 21:53 编辑

使用 qualified-this 语句  如下代码  这种是为了处理在内部类中引起的field隐藏的  ,还有注意你在new出来线程之后的start方法要开始。
  1. <p>package org.openscience.zhoubo;</p><p>public class InnerclassStatic {
  2.   
  3.     private static int i=50;</p><p>   /**</p><p>    * @param args</p><p>    */</p><p>   public static void main(String[] args) {</p><p>           // TODO 自动生成的方法存根</p><p>   System.out.println(i);</p><p>   new Thread(new Runnable() {</p><p>                  
  4.                    @Override</p><p>                   public void run() {</p><p>                           // TODO 自动生成的方法存根</p><p>                           System.out.println("我是"+InnerclassStatic.this.i--);</p><p>                   }</p><p>           }).start();</p><p>   }</p><p>
  5. }</p><p>
  6. </p><p> </p>
复制代码
回复 使用道具 举报
本帖最后由 zhou5852 于 2013-7-12 21:54 编辑
  1. 晕 这个格式是什么样的  哎 还得看html源码。。。。。
复制代码
回复 使用道具 举报
  1. package org.openscience.zhoubo;

  2. public class InnerclassStatic {
  3.          
  4.     private static int i=50;

  5.    /**

  6.     * @param args

  7.     */

  8.    public static void main(String[] args) {

  9.            // TODO 自动生成的方法存根

  10.    System.out.println(i);

  11.    new Thread(new Runnable() {

  12.                   
  13.                    @Override

  14.                    public void run() {

  15.                            // TODO 自动生成的方法存根

  16.                            System.out.println("我是"+InnerclassStatic.this.i--);

  17.                    }

  18.            }).start();

  19.    }


  20. }

复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报

还是谢谢你啦,其实我明白了,外部类.this.方法(成员变量)。一时候思维短路。:loveliness:
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马