无法将值赋值给Java中的任何数据类型

时间:2017-06-09 17:21:04

标签: java

我有一个像这样的简单代码:

package search.engine;

public class NewClass {
    int a;
    a = 1;
}

我不能分配“a”值,除非我做int a = 1;为什么会这样?我的NetBeans有问题吗? (它在= 1行给我一个红铃)

3 个答案:

答案 0 :(得分:1)

Java在方法中工作。尝试:

package search.engine;

public class NewClass {
    public static void main(System[] args){
        int a;
        a = 1;
    }
}

此外,我相信您可以将作业放在代码的中,以便:

package search.engine;

    public class NewClass {
        int a;
        {
        a = 1;
        }
    }

但不建议这是不好的做法。

答案 1 :(得分:0)

类变量你不能做这样的事情。它会给编译时错误。但是在静态方法中你可以做到。

public class Test {
   int a; // this is wrong. it will give compile time error
   a = 1;
public static void main(System[] args){
    int a; //this is correct 
    a = 1;
}

}

答案 2 :(得分:-1)

您可以通过将代码放入方法来进行分离:

public static void main(String... args) {
  int a;
  a = 1;
}

或:

int a;

public static void main(String... args) {
  a = 1;
}

您可以直接在类中声明和初始化字段,但不能按照您在类中直接执行的方式将其分开。任意命令必须在方法,构造函数或初始化器中。