为变量赋值

时间:2012-02-02 07:25:04

标签: java variables

为什么这段代码显示编译错误

public class Foo {
    int a=5;
    a=4;
}

2 个答案:

答案 0 :(得分:6)

Java语言只允许类级别的成员声明,​​而不是任意代码。

当创建a的对象时,要将4分配给Foo,您应该将赋值放在构造函数或初始化程序块中。

这是一个初始化块:

public class Foo {
    int a = 5;
    {
        a = 4;
    }
}

这是一个构造函数:

public class Foo {
    int a = 5;
    public Foo() {
        a = 4;
    }
}

答案 1 :(得分:1)

您可以定义私有变量并在声明它们时为它们赋值,但要更改它的值,您需要在某个函数中执行它。

 public class Foo{
       int a = 5;
       //Constructor
       void Foo(){
             a = 4;
       }
       //Normal Function
       void Change(){
             a = 4;
       }
 }

希望这会对你有所帮助。