java static修飾符的問題
下面的例子是一個使用了static修飾符修飾自己變數的類
按照通常的解釋是被static修飾的變數是被所有物件共享
的,但是如果你執行一下下面的程式,你就會發現不同的對
象所列印出來的結果是不一樣的,者就說明了,其實它們內
部引用的並不是同一值,因此並不能說被static變數所修飾
的變數是共享的,因為如果是共享的話,那麼所有人引用到
的值應該是一致的,但是結果卻不一致.
public class Test {
public static void main(String[] args) {
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
System.out.println(p3.getI());
System.out.println(p1.getI());
System.out.println(Person.total);
Person.total=1000;
System.out.println(p1.total);
}
}
class Person {
public static int total=0;
private int i;
public Person() {
total++;
i=total;
}
public static int getTotal() {
return total;
}
public static void setTotal(int total) {
Person.total = total;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
}
相關文章
- Java的static修飾符Java
- 修飾符static和abstract
- Java的訪問修飾符Java
- Java 修飾符Java 修飾符
- java修飾符Java
- java中的修飾符Java
- 訪問修飾符
- Java 常用修飾符Java
- final修飾和static final修飾的區別
- TypeScript 類訪問修飾符TypeScript
- java修飾符使用指南Java
- JAVA java學習(24)——————java修飾符Java
- Vue - 按鍵修飾符 && 系統修飾符Vue
- java oop 修飾符&關鍵字JavaOOP
- Java入門系列之訪問修飾符作用範圍Java
- #Java教程:訪問修飾符:public、protected、預設、private @FDDLCJava
- 物件與引用,static關鍵字,程式碼塊,包,訪問許可權修飾符物件訪問許可權
- c#封裝、訪問修飾符C#封裝
- C++學習——訪問修飾符C++
- Java基礎知識整理之static修飾方法Java
- java常用修飾符(隨堂筆記)Java筆記
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權
- vue 事件修飾符Vue事件
- vue sync 修飾符Vue
- 繼承&修飾符繼承
- Java基礎知識整理之static修飾屬性Java
- C#基礎訪問修飾符概述C#
- 訪問修飾符你用對了嗎
- Java中final修飾符都有什麼作用Java
- JAVA修飾符、運算子、迴圈語句Java
- 如何獲取java類中的欄位修飾符?Java
- Vue的.sync修飾符的使用Vue
- 許可權修飾符
- PLC結構化文字(ST)——訪問修飾符
- 09-02 Java語言基礎(修飾符)Java
- TypeScript入門2:類、繼承、訪問修飾符TypeScript繼承
- Vue事件修飾符詳解Vue事件
- c語言中const修飾符C語言
- Day39--類修飾符