“你好我最喜歡的學生。現在我要告訴你變量的可見性。”

“咦?變量可以不可見嗎?”

“不。一個變量的‘可見性’,或範圍,是指代碼中你可以引用該變量的地方。你可以在 程序的任何地方使用一些變量,但其他的只能在它們的類中使用,還有一些——僅在一種方法內。

“例如,您不能在聲明變量之前使用它。”

“這就說得通了。”

“這裡有幾個例子:”


public class Variables

{
   private static String TEXT = "The end.";
  ┗━━━━━━━━━━━━━━┛
   public static void main (String[] args)
                          ┗━━━━━━━┛
  {
     System.out.println("Hi");
     String s = "Hi!";
   ┏┗━━━━┛
    System.out.println(s);
    if (args != NULL)
    {
       String s2 = s;
      ┗━━━━┛
   
      System.out.println(s2);
     
    }
    Variables variables = new Variables();
    System.out.println(variables.instanceVariable);
    System.out.println(TEXT);
   
  }
 
   public String instanceVariable;
  ┗━━━━━━━━━━━━━━━┛
   public Variables()
   {
      instanceVariable = "Instance variable test.";
   }
}

1. 在方法中聲明的變量從其聲明開始到方法結束一直存在(可見)。

2. 在代碼塊中聲明的變量一直存在到代碼塊結束。

3. 方法的參數存在於方法中的任何地方。

4. 對像中的變量存在於包含它們的對象的整個生命週期中。它們的可見性也由特殊的訪問修飾符定義:publicprivate

5. 靜態(類)變量在程序運行的整個過程中都存在。它們的可見性也由訪問修飾符定義。

“我喜歡圖片。它們有助於讓一切變得清晰。”

“好孩子,阿米戈。我一直都知道你是個聰明人。”

“我還要跟你說說‘訪問修飾符’,別害怕,沒有什麼複雜的,這裡你可以看到publicprivate兩個字。”

“我不害怕,只是眼睛在抽搐。”

“我相信你。你可以管理一個類的方法和變量如何被其他類訪問(或可見)。你只能為每個方法或變量分配一個訪問修飾符。

1.公共訪問修飾符。

您可以在程序的任何位置使用標有 public 修飾符的變量、方法或類。這是最高級別的訪問權限——這裡沒有任何限制。

2.私有訪問修飾符。

您只能從聲明它的類中使用用 private 修飾符標記的變量或方法。對於所有其他類,標記的方法或變量將是不可見的,就好像它不存在一樣。這是最高級別的封閉性——只能在自己的類中訪問。

3. 無修飾符。

如果一個變量或方法沒有用任何修飾符標記,它被認為是用“默認”訪問修飾符標記的。這些變量和方法對聲明它們的包中的所有類都是可見的。並且只對它們可見。這種訪問級別有時稱為“ package-private ”訪問,因為對變量和方法的訪問對包含其類的整個包都是開放的。

這是一張總結我們所討論內容的表格:”

修飾符 從...訪問
自己的班級 自己的包裹 任何班級
私人的 是的
無修飾符(package-private 是的 是的
民眾 是的 是的 是的