一、局部變量
存在某個方法中的變量就叫局部變量,局部變量一旦聲明就必須賦值 否則不能使用
代碼如下:
class Person { String name; char sex; int age; public void eat(){ int num = 10;//不進行賦值是在方法體內不能用的 編譯的時候就會報錯 尚未初始化變量 System.out.println(num+"吃"); } public void sleep(){ System.out.println("睡覺"); } }
二、成員變量
存在某個類中的並且類方法外就叫成員變量。成員變量可以在類中的任何地方訪問
局部變量和成員變量的名字可以重名 當二個作用范圍重疊時 取就近原則
代碼如下:
class Person { String name; char sex; int age; public void eat(){ int num = 10;//不進行賦值是在方法體內不能用的 System.out.println(num+"吃");//如果這個地方使用時跟成員變量重名時 使用就近原則 此時num的值是10 } public void sleep(){ System.out.println("睡覺"); } }
三、二者的區別
1.所處的代碼的位置不同
2.作用域不同
3.局部變量沒有默認的初始值 而成員變量有默認的初始值
4.生命周期不同
局部變量:當方法調用完畢時局部變量就被銷毀了時間比較短
成員變量:當對象消失時成員變量就銷毀生命周期比較長