java 基础问题 static 高手进

来源:百度知道 编辑:UC知道 时间:2024/06/07 05:55:08
想问一下
JAVA中 所有变量 是否都有默认值
没有的话用了报什么错 是不是空指针异常
有的话 是什么

还有个最主要最想问的
静态 Static 变量是否有默认值
我问的是静态 变量。。
当然 我知道局部变量必需赋值。
那是否就是说与Static没有关系?
只需要看, 是 局部变量 还是全局变量?
我是否可以这样理解:
全局的Static变量是有默认值的
而局部的 Static变量是没有默认值的??

回公子 : 我是很想试试,但是刚刚JVM用不了了。。

如果可以的话 加我 QQ 119926612 帮我解释一下。。
谢谢了 、
如果明白了 再加100分 (我只剩下100分了)

都有默认值!如下:
boolean false
char
byte 0
short 0
int 0
long 0
float 0.0
double 0.0
Object null

如果没设置值的话,就是默认值了!

但对于static类型的,由于它是在main之前就加载了,在内存中一直存在的,所以应该赋值!不过呢~建议你最好自己试试玩下,很好玩的~实践出真知嘛~

我也加句:凡是变量都有值的,如果没有显视的赋值的话就是初始值!与是不是static的无关!

class的成员变量instance variables都有默认值
intgers 0
floating points 0.0
booleans false
references null
大概就是这样子,除了就是null ,false,和0,没有初始化可以使用。

但是方法内部变量local variables必须要定义,没有默认值,否则的话编译器会返回 error:variable might not have been initialized

没有局部的static变量,java不允许有这样的变量。编译会出错的,static的机制是在所有的对象创建之前就已经初始化话了,并且所有的对象要共享这个变量.如果定义了局部的static变量,就会和本身的机制冲突
illegal start of expression:static

还真没去想这个问题
等下回去试试

局部变量可以申明为static?

static的意义是这个变量属于类,不属于对象,方法里的局部变量既不能说属于类,也不能说属于对象。

需不需要赋初值,和static没有关系。类成员变量都不用赋初值,局部变量都要。

只有类的成员变量才会自动赋值,也就是有默认初始值