我有一个像这样的简单代码:
package search.engine;
public class NewClass {
int a;
a = 1;
}
我不能分配“a”值,除非我做int a = 1;为什么会这样?我的NetBeans有问题吗? (它在= 1行给我一个红铃)
答案 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;
}
您可以直接在类中声明和初始化字段,但不能按照您在类中直接执行的方式将其分开。任意命令必须在方法,构造函数或初始化器中。