局部變量(local variable)
方法或語句快內定義的變量。生命週期是從聲明位置開始到方法或語句執行完畢爲止。
public class Main {
// main方法
public static void main(String[] args) {
Employee employee = new Employee();
System.out.println(employee.getName());
int j = 1; // 局部變量,必須要初始化
System.out.println(j);
test();
}
public static void test(){
int i = 0; // 局部變量,必須要初始化
System.out.println(i);
}
}
成員變量(實例變量 member variable)
方法外部、類的內部定義的變量。從屬與對象,生命週期伴隨對象始終。
public class Employee {
private int number;
public Employee(){
}
public int getNumber() {
return number;
}
}
public class Main {
// main方法
public static void main(String[] args) {
Employee employee = new Employee();
System.out.println(employee.getName());
/*
成員變量沒有初始化,不會報錯,
int 默認0
double 默認0.0
char 默認'\u0000'
boolean 默認false
*/
}
}
靜態變量(類變量 static variable)
使用static定義。從屬於類,生命週期伴隨類始終,從類加載到卸載。
public class Employee {
static int number; //static修飾
}
public class Main {
// main方法
public static void main(String[] args) {
Employee e1 = new Employee();
Employee e2 = new Employee();
e1.number = 11;
System.out.println(e1.number); // 輸出11
System.out.println(e2.number) //輸出也是11
// static修飾變量被所有該類的對象共享。
}
}
常量
給了值就無法再被改變的變量
public class Main {
// main方法
public static void main(String[] args) {
final int NUMBER =10; //final修飾,命名全部大寫
System.out.println(NUMBER);
}
}