一、成員變量
成員變量也稱(chēng)為實(shí)例變量,它們是類(lèi)的特定屬性,與特定對(duì)象關(guān)聯(lián)。
定義位置: 類(lèi)的內(nèi)部,方法外部。生命周期: 與對(duì)象的生命周期相同。訪問(wèn)權(quán)限: 可以通過(guò)訪問(wèn)修飾符(如public
、private
等)控制。示例代碼:public class Person { String name; // 成員變量}
二、類(lèi)變量
類(lèi)變量是使用static
關(guān)鍵字修飾的變量,屬于整個(gè)類(lèi),與單個(gè)對(duì)象無(wú)關(guān)。
static
修飾。生命周期: 隨類(lèi)的加載和卸載。共享性: 所有對(duì)象共享同一份類(lèi)變量拷貝。示例代碼:public class Counter { static int count; // 類(lèi)變量}
三、局部變量
局部變量在方法、構(gòu)造器或代碼塊內(nèi)部定義,其作用范圍僅限于定義它的區(qū)域。
定義位置: 方法、構(gòu)造器或代碼塊內(nèi)部。生命周期: 執(zhí)行到定義區(qū)域時(shí)創(chuàng)建,離開(kāi)該區(qū)域時(shí)銷(xiāo)毀。存儲(chǔ)區(qū)域: 儲(chǔ)存在棧內(nèi)存中。示例代碼:public void myMethod() { int x = 10; // 局部變量}
常見(jiàn)問(wèn)答
Q1:成員變量和局部變量的區(qū)別是什么? A1:成員變量屬于對(duì)象,局部變量屬于方法或代碼塊。Q2:為什么使用類(lèi)變量? A2:類(lèi)變量用于那些需要所有對(duì)象共享的情況,例如計(jì)數(shù)器。Q3:局部變量是否可以使用訪問(wèn)修飾符? A3:不可以,訪問(wèn)修飾符只能用于類(lèi)變量和成員變量。Q4:成員變量如果不初始化會(huì)怎樣? A4:成員變量會(huì)自動(dòng)賦予默認(rèn)值,如整數(shù)為0,對(duì)象引用為null
等。Q5:如何訪問(wèn)類(lèi)變量? A5:可以通過(guò)類(lèi)名直接訪問(wèn),也可以通過(guò)對(duì)象訪問(wèn),但通過(guò)類(lèi)名是推薦的方式。