Topic: 请教个问题!(不能引用以其它方法定义的内部类中的非终态变量)

  Print this page

1.请教个问题!(不能引用以其它方法定义的内部类中的非终态变量) Copy to clipboard
Posted by: wu_Java1981
Posted on: 2006-08-05 23:13

package testDirList3;
public class DirList3 {
public static void main(String[] args) {
File path = new File(".");
String[] list;
if(args.length == 0)
list = path.list();
else
ist = path.list(new FilenameFilter(){
private Pattern pattern = Pattern.compile(args[0]);
public boolean accept(File dir, String name) {
return pattern.matcher(new File(name).getName()).matches();
}
});
。。。
}
}
编译时报了个错:
不能引用以其它方法定义的内部类中的非终态变量 args[0]
private Pattern pattern = Pattern.compile(args[0]);是这句话的错,能给我解释解释,是什么原因?

2.Re:请教个问题!(不能引用以其它方法定义的内部类中的非终态变量) [Re: wu_Java1981] Copy to clipboard
Posted by: wu_Java1981
Posted on: 2006-08-06 22:42

怎么没人回贴??是我的意思,大家不理解ma?

3.Re:请教个问题!(不能引用以其它方法定义的内部类中的非终态变量) [Re: wu_Java1981] Copy to clipboard
Posted by: zcjl
Posted on: 2006-08-06 23:57

手边没有书可以摘抄,也不想去google了
简单地说,在内部类中要引用外部的变量,那么这个变量(可以是外部实例变量、临时变量、参数等等)就必须申明为final的

4.Re:请教个问题!(不能引用以其它方法定义的内部类中的非终态变量) [Re: wu_Java1981] Copy to clipboard
Posted by: wu_Java1981
Posted on: 2006-08-09 11:18

谢谢!


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923