2015-10-13 76 views
0

我正在学习范围和嵌套类。我创建了一个嵌套类,并在课堂级创建了int money变量;然而,当我尝试重新定义变量的嵌套类,它发送令牌“钱”这个错误 语法错误,VariableDeclaratorId后预计此令牌类变量语法错误

package taopablot; 

public class Scope { 
private int money = 5; 

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

} 
+0

变量货币不是内部类的属性,所以你不能修改它的值在方法外面 – Ibraheem

回答

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

看行不2.你有隐藏顶级类货币变量,这是很好的,但它缺少一种类型。可能

int money =5; 

如果你不想隐藏,只是想分配一些值给顶级类变量,那就不应该这样。该语句在构造函数,方法或任何其他块中。在目前的状态,这是一种孤儿的声明。

-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()); 
} 
} 

} 
-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(); 
    } 

} 
0

,如果你正试图将类块内而外的方法设置字段,如你在为内部课程赚钱,那么你可以使用初始化块

{ money = 5; } 

但是,如果你想重新定义内部类的领域资金,那么你需要声明它。