更新時(shí)間:2023-05-15 來(lái)源:黑馬程序員 瀏覽量:
IT就到黑馬程序員.gif)
在Java中,靜態(tài)變量和實(shí)例變量是兩種不同的變量類型,它們有以下的區(qū)別:
1.靜態(tài)變量屬于類,而不是類的任何實(shí)例。實(shí)例變量屬于類的實(shí)例。
2.靜態(tài)變量只有一個(gè)副本,無(wú)論類被實(shí)例化多少次,它始終是相同的。實(shí)例變量每個(gè)實(shí)例都有自己的副本。
3.靜態(tài)變量可以直接從類中訪問(wèn),無(wú)需實(shí)例化。實(shí)例變量必須通過(guò)實(shí)例化對(duì)象后才能訪問(wèn)。
變量和實(shí)例變量的區(qū)別.jpg)
接下來(lái)我們看一段簡(jiǎn)單的Java代碼示例,演示靜態(tài)變量和實(shí)例變量的區(qū)別:
public class Example {
static int staticVariable = 10; // 靜態(tài)變量
int instanceVariable = 20; // 實(shí)例變量
public static void main(String[] args) {
Example obj1 = new Example();
Example obj2 = new Example();
// 靜態(tài)變量可以通過(guò)類名直接訪問(wèn)
System.out.println("靜態(tài)變量staticVariable值為:" + Example.staticVariable);
// 實(shí)例變量必須通過(guò)實(shí)例對(duì)象訪問(wèn)
System.out.println("obj1的實(shí)例變量instanceVariable值為:" + obj1.instanceVariable);
System.out.println("obj2的實(shí)例變量instanceVariable值為:" + obj2.instanceVariable);
// 修改靜態(tài)變量的值
Example.staticVariable = 30;
// 打印修改后的靜態(tài)變量值
System.out.println("靜態(tài)變量staticVariable值為:" + Example.staticVariable);
System.out.println("obj1的靜態(tài)變量staticVariable值為:" + obj1.staticVariable);
System.out.println("obj2的靜態(tài)變量staticVariable值為:" + obj2.staticVariable);
// 修改實(shí)例變量的值
obj1.instanceVariable = 40;
// 打印修改后的實(shí)例變量值
System.out.println("obj1的實(shí)例變量instanceVariable值為:" + obj1.instanceVariable);
System.out.println("obj2的實(shí)例變量instanceVariable值為:" + obj2.instanceVariable);
}
} 輸出結(jié)果如下:
靜態(tài)變量staticVariable值為:10 obj1的實(shí)例變量instanceVariable值為:20 obj2的實(shí)例變量instanceVariable值為:20 靜態(tài)變量staticVariable值為:30 obj1的靜態(tài)變量staticVariable值為:30 obj2的靜態(tài)變量staticVariable值為:30 obj1的實(shí)例變量instanceVariable值為:40 obj2的實(shí)例變量instanceVariable值為:20
可以看到,靜態(tài)變量只有一個(gè)副本,可以通過(guò)類名直接訪問(wèn)。實(shí)例變量每個(gè)實(shí)例都有自己的副本,必須通過(guò)實(shí)例對(duì)象訪問(wèn)。當(dāng)修改靜態(tài)變量時(shí),所有實(shí)例都會(huì)受到影響。當(dāng)修改實(shí)例變量時(shí),只有該實(shí)例會(huì)受到影響。
1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營(yíng)】深圳跨境電商運(yùn)營(yíng)畢業(yè)22個(gè)工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個(gè)工作日,班級(jí)93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開(kāi)發(fā)】上海校區(qū)AI鴻蒙開(kāi)發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19