我需要修改內部類的變量。編譯器說我需要聲明變量static,但是我不能修改它。該代碼是這樣的:訪問java中內部類的變量
public class Outter{
private boolean b;
public Outter(){
b = false;
new Inner(b);
}
}
public class Inner{
public Inner(boolean b){
b = true;
}
}
有沒有像C中的「外部」什麼?或者任何解決方案,所以我可以修改b變量?我已經嘗試將其設置爲靜態並將整個Outter類作爲參數傳遞,但我仍然遇到同樣的問題。
編輯: 好代碼更像是:
public class MainView{
private boolean view;
//JMenus,JMenuItems, JPanels.. declarations
private JFrame frame
MainView(){
view = true;
//initializations
create_listeners();
}
public void create_listeners(){
Menu.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event){
if(View){
new View2(frame);
View = false;
}
}
}
);
}
}
public class View2{
private JButton back = new JButton("Back");
public View2(JFrame frame){
//initialitzatons
create_listeners();
}
public void create_listeners(){
back.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event){
frame.remove(MainPanel);
View = true;// HERE, i want to modify the variable
}
}
);
}
}
的問題是我應該怎麼從視圖2類修改變量「視圖」。
對不起,製表不好,我做得很快,需要翻譯代碼。
看看類似問題的回覆:http://stackoverflow.com/questions/6830637/what-is-the-equivalent-keyword-for-extern-in-java – sglahn