以下代码有什么问题?
class test {
static int a;
a=10;
}
如果我这样写(如上所述),我会收到编译错误。
class test {
static int a=10;
a=4;
}
对于第二个,我没有收到任何错误。
答案 0 :(得分:7)
你的两个例子都不应该编译。
div
是一个语句,它在class declaration内无效。您只能将以下内容直接放在类中:
a=10;
),方法,嵌套类和接口); 您需要在块中放置一个语句,例如静态初始化程序:
static int a;
相当于:
static int a;
static {
a = 10;
}
答案 1 :(得分:3)
您需要使用静态语句块在另一行(方法外)进行分配
class test {
static int a;
static { a=10; }
}
答案 2 :(得分:1)
a = 4; 必须在有效范围内完成
方法或构造函数......
此行有效
static int a=10;
因为java允许你在一个语句中声明和初始化!
答案 3 :(得分:0)
如果要在将其定义为null int之后初始化a,则只能在函数中执行此操作,因为它是静态的。
答案 4 :(得分:0)
您只能在函数或块内声明后初始化您的成员变量,因为它是静态的,您应该使用静态块
答案 5 :(得分:0)
您目前正在做的是在类减法中声明一个变量,该变量无效。看看这个,你的例子都不应该给你带来任何好结果。
在类声明中,您可以初始化变量:
static int a;
然后,如果您想使用它,您必须首先创建一个方法(如果您不知道这一点,我强烈建议您观看一些youtube教程或阅读有关此主题的书籍):
public void foo(int a){
a = 6; //Here you can play with your variables and change them
}
在类声明中,您可以:声明方法,初始化器和构造函数。 (你可以做多一点,但是在潜入太深之前我会看看这些点。)
此外,您似乎不知道静态变量或静态方法的作用,我认为以下帖子可以帮助您:
difference between 'static int' and 'int' in java
What are static method and variables?
我希望我能帮助学习Java并获得乐趣
答案 6 :(得分:0)
因为在类加载时分配了静态内存 所以我们需要这样做 class test {static int a = 10; public static void main(String args []){a = 12 output(test.a(or)a);}}