我为什么可以改变final数据 final声明的是mylist的指向不可以改变,即不再可以出现mylist = ...这种语句 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那为什么 去掉final 之后程序报错 final仅仅表明一旦它指向一个对象, 它就不能再指向其他对象. 那为什么 去掉final 之后程序报错 匿名内部类访问的外部数据必须要设置为finalfinal listStatus指向新生成的Label对象,不能对其重新赋其他Label对象。当然此时final listStatus所指向的Label对象可通过相应方法更改其自生属性。 import java.awt.*;import java.awt.event.*;import java.applet.*;public class Applet1 extends Applet { List mylist; Label listStatus; public Applet1() { } public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } private void jbInit() throws Exception { mylist= new List(5,true); ////////////////// listStatus = new Label("this is this list status"); ////////////////// mylist.add("metre"); mylist.add("thiste"); mylist.add("herde"); mylist.add("htidfj"); mylist.add("string"); this.add(listStatus); this.add(mylist); TextField mytext = new TextField("thisf",10); this.add(mytext); mylist.addItemListener( new ItemListener(){ public void itemStateChanged(ItemEvent evt){ String selection; int selectionNum; if(evt.getStateChange()== ItemEvent.SELECTED) { selectionNum = ((Integer) evt.getItem()).intValue(); selection = mylist.getItem(selectionNum); //////////////////////////////// listStatus.setText("you select is "+selection); //////////////////////////// } } });}}那为什么放在外部类里申明,不放在函数中申明,程序又运行正常 anonymous inner class 只能使用 final 局部变量但是有 outer class 成员的使用权(无限制) java编写的小游戏,高手勿喷,谢谢支持 求一个Java多线程例子 求一个JAVA界面 大家集合图片看下哦,为什么dObj.length=undefined 而不是2哦? 【构造器中给域赋值】是调用赋值方法好,还是直接赋值好? 高手指教一下吧?如何用JPopupMenu制作二级菜单! java时间控制 子类可以赋给父类,父类可以赋给子类吗??? java中如何调用com?急,送分 关于继承~ 关于HashTable的问题 如何编程读取PKCS#12格式的证书与私钥
import java.awt.event.*;
import java.applet.*;public class Applet1 extends Applet { List mylist;
Label listStatus; public Applet1() {
} public void init() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
} private void jbInit() throws Exception {
mylist= new List(5,true);
//////////////////
listStatus = new Label("this is this list status");
//////////////////
mylist.add("metre");
mylist.add("thiste");
mylist.add("herde");
mylist.add("htidfj");
mylist.add("string"); this.add(listStatus);
this.add(mylist);
TextField mytext = new TextField("thisf",10);
this.add(mytext);
mylist.addItemListener( new ItemListener(){
public void itemStateChanged(ItemEvent evt){
String selection;
int selectionNum;
if(evt.getStateChange()== ItemEvent.SELECTED)
{
selectionNum = ((Integer) evt.getItem()).intValue();
selection = mylist.getItem(selectionNum);
////////////////////////////////
listStatus.setText("you select is "+selection);
////////////////////////////
} }
});
}
}
那为什么放在外部类里申明,不放在函数中申明,程序又运行正常
但是有 outer class 成员的使用权(无限制)