变量
Java 程序的变量大体可分为成员变量和局部变量。
局部变量
形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。
方法内的局部变量:在方法内定义的局部变量,必须在方法内对其进行显式初始化。这种类型的局部变量从初始化完成后开始生效,随方法的结束而消亡。
代码块内的局部变量:在代码块内定义的局部变量,必须在代码块内对其进行显式初始化。这种类型的局部变量从初始化完成后开始生效,随代码块的结束而消亡。
局部变量的作用时间很短暂,它们都被存储在方法的栈内存中。
成员变量
类体内定义的变量被称为成员变量(英文是Field)。
如果定义该成员变量时没有使用static修饰,该成员变量又被称为非静态变量或实例变量;如果使用了static修饰,则该成员变量又可被称为静态变量或类变量。(类变量的初始化时机总是处于初始化实例变量之前)
static 只能修饰在类里定义的成员部分,包括成员变量、方法、内部类、初始化块、内部枚举类。
public class Variable {
//成员变量 age
int age;
//类变量 name
static String name;
// str 形参
public void show(String str){
//方法中的局部变量
int method = 0;
static int test=123;//此处,报错。static 局部变量
System.out.println(str+method);
}
{//代码块
String codeBlock = "代码块";
}
public static void main(String[] args) {
static int test=123;//此处,报错。static 局部变量
}
}