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

java成員變量和實例變量的區(qū)別

陳思宇1年前7瀏覽0評論

Java是一種對象導(dǎo)向的編程語言,面向?qū)ο缶幊痰幕A(chǔ)是“類”,而“類”中最重要的概念之一就是“變量”。

在Java類中,變量分為“成員變量”和“局部變量”。其中,“成員變量”又可分為“類變量”和“實例變量”。下面我們來詳細(xì)了解一下成員變量和實例變量的區(qū)別:

/**
 * 演示成員變量和實例變量的區(qū)別
 */
public class Demo {
/*
* 類變量,所有實例共享
*/
static int i;
/*
* 實例變量,每個實例單獨(dú)擁有一份
*/
int j;
public static void main(String[] args) {
Demo d1 = new Demo();
Demo d2 = new Demo();
d1.i++;
d1.j++;
d2.i++;
d2.j++;
System.out.println("d1.i=" + d1.i + ", d1.j=" + d1.j);//輸出:d1.i=2, d1.j=1
System.out.println("d2.i=" + d2.i + ", d2.j=" + d2.j);//輸出:d2.i=2, d2.j=1
System.out.println("Demo.i=" + Demo.i);//輸出:Demo.i=2
}
}

如上述代碼所示,成員變量分為“類變量”和“實例變量”。類變量使用static關(guān)鍵字修飾,而實例變量不需要。類變量又稱為靜態(tài)變量,它在整個類中只有一份,被所有實例對象共享,通常用于記錄全局性質(zhì)的數(shù)據(jù)。實例變量則是每個實例對象單獨(dú)擁有一份,不同實例對象的實例變量之間互不影響。

在上述代碼中,我們創(chuàng)建了兩個實例對象d1和d2,分別操作了他們的成員變量i和j,最終打印出了每個變量的值。我們會發(fā)現(xiàn),d1和d2的i變量值是相等的都是2,這就是因為它們是共享的類變量。但是j變量的值卻是不同的,這是因為j是實例變量,每個實例對象單獨(dú)擁有一份。

總之,成員變量是分為“類變量”和“實例變量”的,類變量只有一份是被整個類共享的,而實例變量則是每個實例對象單獨(dú)擁有一份,互不干擾。我們需要根據(jù)具體的需求進(jìn)行選擇。