欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java靜態變量和非靜態變量的區別

錢良釵1年前7瀏覽0評論

在Java中,變量可以分為靜態變量和非靜態變量。這兩種變量的作用和使用方式有很大的不同。

首先,靜態變量是屬于類的,非靜態變量是屬于對象的。也就是說,靜態變量在所有對象間是共享的,而非靜態變量則是每個對象有一份獨立的副本。

public class Example {
static int staticVar = 0;  // 靜態變量
int instanceVar = 0;      // 非靜態變量
public static void main(String[] args) {
Example ex1 = new Example();
Example ex2 = new Example();
ex1.staticVar = 1;
ex1.instanceVar = 2;
ex2.staticVar = 3;
ex2.instanceVar = 4;
System.out.println("ex1.staticVar = " + ex1.staticVar);   // 輸出 3
System.out.println("ex1.instanceVar = " + ex1.instanceVar); // 輸出 2
System.out.println("ex2.staticVar = " + ex2.staticVar);  // 輸出 3
System.out.println("ex2.instanceVar = " + ex2.instanceVar); // 輸出 4
}
}

從上面的代碼可以看出,靜態變量 staticVar 在 ex1 和 ex2 之間是共享的,修改一個對象的值會影響到其他對象。而非靜態變量 instanceVar 在每個對象間是獨立的,修改一個對象的值不會影響到其他對象。

還有一個區別是,靜態變量可以直接通過類名訪問和修改,而非靜態變量只能通過對象名訪問和修改。

public class Example {
static int staticVar = 0;  // 靜態變量
int instanceVar = 0;      // 非靜態變量
public static void main(String[] args) {
Example.staticVar = 1;   // 直接通過類名訪問和修改靜態變量
Example ex1 = new Example();
ex1.instanceVar = 2;     // 通過對象名訪問和修改非靜態變量
}
}

總之,靜態變量和非靜態變量都有各自的使用場景和特點,根據具體的需求使用相應的方法即可。