[問題] 關於inner class所用到變數的問題~
Frame f=new Frame("hello! greeting~");
.....(一堆設定位置的程式)...
existButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
f.setVisible(false);
}
});
我是用Eclipse編輯的,當我編到existButoo.addActio....
這個class時,裡面的f.setVisible(false)的f底下跑出紅色蚯蚓(就是有問題...)
它的錯誤訊息是:
Cannot refer to a non-final variable f inside an
inner class defined in a different method
然後我再到Frame f=new Frame("hello! greeting~");
前面加上final 就可以解決。
final用法,是不是在inner class中扮演重要的角色阿??
我一直以為它只是像C語言的define 一樣 = =||
只是讓變數值部變而已 = =
抓哇新手 感謝大家幫忙~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.53.138
※ 編輯: dogtim 來自: 123.195.53.138 (04/23 11:48)