读书人

一道关于匿名内部类的有关问题

发布时间: 2012-05-29 12:16:00 作者: rapoo

一道关于匿名内部类的问题

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();    } 

读书人网 >J2EE开发

热点推荐