类变量语法错误

时间:2015-10-13 18:51:07

标签: java

我正在学习范围和嵌套类。我创建了一个嵌套类,并在类级创建了int money变量;但是,当我尝试在嵌套类中重新定义变量时,它会发送此错误 令牌上的语法错误" money",此令牌后预期的VariableDeclaratorId

 package taopablot;

public class Scope {
private int money = 5;

class mySecondDragon {
    money=5;
    public void mySecondDragon()
    {
        System.out.println(money);
    }
}

}

4 个答案:

答案 0 :(得分:0)

class mySecondDragon {
    money=5;  // #2
    public void mySecondDragon()
    {
        System.out.println(money);
    }
};

看第2行。你必须隐藏顶级类的money变量,这很好,但它缺少一个类型。可能

int money =5;

如果您不想隐藏并且只想为顶级类变量赋值,那不应该这样。该语句在构造函数,方法或任何其他块中。在目前的状态下,这是一种孤立的陈述。

答案 1 :(得分:0)

如果你试图在类块中但在方法之外设置一个字段,比如你在内部类中做钱,那么你可以使用初始化块

{ money = 5; }

但如果你想重新定义你内心阶级的田间资金,那么你需要申报它。

答案 2 :(得分:-1)

我认为您需要创建一个集合并获取资金方法。

void setMoney(int amount){
money = amount;
}
void getMoney(){
return money;
}

您的更新代码如下所示:

public class Scope {
private int money = 5;

void setMoney(int amount){
money = amount;
}

void getMoney(){
return money;
}

class mySecondDragon {
Scope.setMoney(5);
public void mySecondDragon()
{
    System.out.println(Scope.getMoney());
}
}

}

答案 3 :(得分:-1)

试试这个:

public class Scope {
    private int money = 0;

    class mySecondDragon {

        void mySecondDragon() {
            money = 5;
            System.out.println(money);

        }
    }

    public static void main(String... args) {
        Scope st = new Scope();
        Scope.mySecondDragon fl = st.new mySecondDragon();
        fl.mySecondDragon();
    }

}