java對象與類案例

測試一:

public class TestClass {

int i = 47;
public void call(){
for (i = 0; i < 3; i++) {
System.out.println(i);
if(i==2){
System.out.println("\n");
}
}
}
public TestClass() {
}
public static void main(String[] args) {
//創建了兩個對象
TestClass tc1 = new TestClass();
TestClass tc2 = new TestClass();
tc2.i=60;//tc2的i設置爲60
System.out.println("第一個實例的i的值"+tc1.i++);//每一個對象各有一套自己的成員變量,tc1的值不變
tc1.call();
System.out.println("第二個實例的i的值"+tc2.i++);//tc2改變了自己對象的i值
tc2.call();
}

}

結果:

第一個實例的i的值47
0
1
2




第二個實例的i的值60
0
1
2

static可以讓多個實例共享一個變量

測試二

public class TestClass {
static int i = 47;
public void call(){
for (i = 0; i < 3; i++) {
System.out.println(i);
if(i==2){
System.out.println("\n");
}
}
}
public TestClass() {
}
public static void main(String[] args) {
//創建了兩個對象
TestClass tc1 = new TestClass();
TestClass tc2 = new TestClass();
tc2.i=60;//此時,tc2修改了共享的類變量
System.out.println("第一個實例的i的值"+tc1.i++);//tc1和tc2指向同一個類變量i,所以打印結果爲60
tc1.call();//調用完之後i值變爲3
System.out.println("第二個實例的i的值"+tc2.i++);//tc2指向的i變爲了3,打印出3
tc2.call();
}
}

結果:

第一個實例的i的值60
0
1
2




第二個實例的i的值3
0
1
2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章