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