[問題] 關於inner class所用到變數的問題~

看板java作者 (dogtim)時間17年前 (2008/04/23 11:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
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)
文章代碼(AID): #183h5Quu (java)