1.变量类型
关于变量初始化这件事
Java 中的变量分为类变量,成员变量和局部变量,分别位于 JVM 的方法区、堆内存和栈内存中.类变量和成员变量都可以在类首次加载和类初始化时,给出默认值,但是局部变量就必须要在使用前赋值;
实际上,Java 完全可以设计成局部变量不需要初始化,只要作者们高兴。事实上,就有这样的语言,比如 C++;
当然,C++不强制必须初始化,不代表就不用初始化,实际上,C++开发者也都是建议对局部变量初始化,以防止出现野指针这类事情;
《Thing in Java》的作者提到,只要他们高兴,他们就可以这么干,但不这么干的原因就是为了不容易出现错误;
类变量:独立于方法之外的变量,用 static 修饰.
实例变量:独立于方法之外的变量,不过没有 static 修饰.
局部变量:类的方法中的变量 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用.
2.
public class Variable{
static int allClicks=0; // 类变量
String str="hello world"; // 实例变量
public void method(){
int i =0; // 局部变量
}
}