java 中静态成员变量有没默认的初始值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 中静态成员变量有没默认的初始值相关的知识,希望对你有一定的参考价值。

忘了 好像是0 知道的回答下 谢谢
//a.java
public class a
public static void main(String [] args)

int x;
System.out.println(x);




这样写显示不行啊
F:\>javac a.java
a.java:5: 可能尚未初始化变量 x
System.out.println(x)
^

参考技术A 类成员变量会有默认的初始值,
局部变量使用前必须赋值
参考技术B java中int类型的变量是给了默认初始值0

但要养成建变量的同时要给其初始化的习惯
参考技术C 变量分:成员变量,局部变量,定义成成员变量。ok了,
public class a
static int x;
public static void main(String [] args)


System.out.println(x);


本回答被提问者采纳
参考技术D 在方法里的变量属于局部变量,局部变量必须附初值!

请问java构造函数如何初始化成员变量的啊?

java构造函数如何初始化成员变量的方式如下:
初始化顺序依据转换后对应的class类成员变量的初始化顺序依次执行,所以所有的静态成员变量都是先声明,后执行赋值的,而且赋值的顺序也是依照源代码对静态成员变量初始化的顺序进行的,注意:定义一个成员变量并直接初始化与在静态代码块中进行初始化是等价的,都是依据它们在源代码中定义的顺序进行的。
参考技术A 可以直接赋值的,在构造里写只不过是为了方便,因为使用一个类的时候通常都要先new出该类的实例在构造里赋值,这样在new这个类的实例的时候成员变量就已经被初始化了。 参考技术B 例如成员变量 private int i;
你在构造函数里可以直接 i=100;或this.i=100;这样初始化。
参考技术C this.a = a;
this.b = b;
参考技术D new 对象的时候 给他赋值啊

以上是关于java 中静态成员变量有没默认的初始值的主要内容,如果未能解决你的问题,请参考以下文章

java成员变量怎么默认初始化

java中成员或类变量自动初始化是啥意思

java 成员变量 静态成员变量 方法 静态方法初始化顺序

JAVA中的成员变量不赋值默认是0吗?

java语言中成员方法可以初始化成员变量吗?

JAVa类中默认的成员变量的访问权问题