題目
/**
* 類變量:static修飾的
* 實例變量:不是static修飾的
*
* 局部變量:棧
* 實例變量:堆
* 類變量:方法區
* @author kevin
* @date 2019/7/11 9:41
*/
public class Exam5 {
static int s;//成員變量,類變量
int i;//成員變量:實例變量
int j;//成員變量:實例變量
{
int i =1;
i++;
j++;
s++;
}
public void test(int j){
j++;
i++;
s++;
}
public static void main(String[] args) {
Exam5 obj1 = new Exam5();
Exam5 obj2 = new Exam5();
obj1.test(10);
obj1.test(20);
obj2.test(30);
System.out.println(obj1.i+","+obj1.j+","+obj1.s);
System.out.println(obj2.i+","+obj2.j+","+obj2.s);
}
}
分析
局部變量和成員變量的區別
- 局部變量:方法體中,形參,代碼塊{} 中
- 成員變量:類方法外;類變量:static修飾 ;實例變量:沒有static修飾
- 存儲位置
- 局部變量:棧
- 實例變量:堆
- 類變量:方法區
畫圖分析
結果
2,1,5
1,1,5