色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java靜態變量和普通變量區別

李思齊1年前6瀏覽0評論

Java靜態變量和普通變量是Java語言中常用的兩種變量類型,它們有著明顯的區別。


首先,靜態變量是屬于類的,而普通變量是屬于對象的。

public class MyClass{
static int num1 = 1; //靜態變量
int num2 = 2; //普通變量
}

在上面的代碼中,num1是靜態變量,它只有一個實例,通過類名可以直接訪問;而num2是普通變量,每一個對象都有一個num2,需要通過對象名才能訪問。


接著,靜態變量可以在類加載時就被初始化,而普通變量在對象創建時才被初始化。

public class MyClass{
static int num1 = 1; //靜態變量
int num2 = 2; //普通變量
public static void main(String[] args){
System.out.println(num1); //輸出1
MyClass myClass = new MyClass();
System.out.println(myClass.num2); //輸出2
}
}

在上面的代碼中,num1在類加載時就被初始化了,所以可以在main方法中直接訪問;而num2在myClass對象創建時才被初始化,所以需要通過myClass對象訪問。


最后,靜態變量的生命周期和類一樣長,當類被卸載時才會被銷毀;而普通變量的生命周期和對象一樣長,當對象被銷毀時才會被銷毀。

public class MyClass{
static int num1 = 1; //靜態變量
int num2 = 2; //普通變量
public static void main(String[] args){
MyClass myClass1 = new MyClass();
MyClass myClass2 = new MyClass();
System.out.println(myClass1.num2); //輸出2
System.out.println(myClass2.num2); //輸出2
myClass1.num2 = 3;
System.out.println(myClass1.num2); //輸出3
System.out.println(myClass2.num2); //輸出2
}
}

在上面的代碼中,myClass1和myClass2都有一個num2,但是它們的值是獨立的,更改其中一個不會影響另一個。


綜上所述,Java靜態變量和普通變量有著明顯的區別,程序員需要根據需求選擇合適的變量類型。