在内部类里使用外部的一个变量必须定义成final吗? 在方法内部定义的内部类引用外部变量时必须是引用final的。如果要用方法的参数,参数也必须final。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 原来如此。那书上怎麽没写呢?为什麽要final呢? 访问本地变量必须用final,如果是实例变量或类变量,就不用了! 我来晚了,那我补充两句!不对,不对之处,望各位指出!一个方法中定义的类,可以称为内部类!这个内部类只能访问这个方法中的FINAL变量,同时,也可以访问和这个方法同级的属性!例:public class A{ int i; public void B(){ final int j = 20; class C{ public void D(){ i = 10; //ok i = j; //ok!但不能修改j的值! } } }} 定义为final 是有原因的:方法的存在时间都比较短,而类却不是所以在方法里的类就面临着一个矛盾定义为final了,是为了告诉garbage collection 里面的类的变量是不变的,你可以到时收集.. 阅读下列程序段,写出程序结束后变量sum的值。 怎么将一个数字输出为字母 请编写一个程序,实现从控制台读入字符,接收到’e’或者’E’退出程序。 找不到getServletContext()方法 [在线等]用JBuilder连SQL的问题? 关于构造函数是私有的问题! jbuilder 光标位置与文字输入的的位置不一样 ? 请问ldap-3.3-3.src.rpm包怎样安装?(在线等候) 高分提供:sun的JVM的source code谁有? 求救 如何在web页面上(不用applet)画饼图???高分求教 这段代码错在哪儿?
一个方法中定义的类,可以称为内部类!这个内部类只能访问这个方法中的FINAL变量,同时,也可以访问和这个方法同级的属性!
例:public class A{
int i;
public void B(){
final int j = 20;
class C{
public void D(){
i = 10; //ok
i = j; //ok!但不能修改j的值!
}
}
}
}
方法的存在时间都比较短,
而类却不是
所以在方法里的类就面临着一个矛盾
定义为final了,
是为了告诉garbage collection
里面的类的变量是不变的,你可以到时收集..