- Java code
package com.gmx;public class Test {/** * @param args */public static void main(String[] args) { int count = 0;new Thread(){@Overridepublic void run() {count++;}}.start();}}
我找到错误了,是不能在匿名内部类中调用非final的变量.但是现在的问题是,加上final之后count不能++了.怎么改才能不报错又能完成 count++ 的功能
------解决方案--------------------
最简单的方法:
- Java code
public static void main(String[] args) { final int[] count = {0}; new Thread() { @Override public void run() { count[0]++; } }.start(); }