首頁  >  文章  >  Java  >  Java中的公用(public)與受保護(protected)存取修飾符的區別

Java中的公用(public)與受保護(protected)存取修飾符的區別

WBOY
WBOY轉載
2023-09-17 20:49:02769瀏覽

Java中的公用(public)與受保護(protected)存取修飾符的區別

public 和 protected 存取修飾符決定如何存取類別或方法的成員。修飾符在聲明時附加到成員上。我們知道這些存取修飾符在 Java oops 概念(如封裝、多態性和繼承)中發揮著重要作用。它有助於防止濫用會員提供的功能。我們將嘗試透過範例程式來理解 Java 中的 public 和 protected 存取修飾符。

Java 中的存取修飾符

公共存取修飾符

Java 不限制公共成員的可存取性。任何聲明為 public 的東西都可以在任何地方訪問,這意味著我們可以在類內、類外、包內和包外訪問它們。您可能已經注意到,Java 中的 main() 方法始終定義為公用方法,以便目前程式任何範圍之外的 JVM 都可以呼叫它。

公共存取修飾符的一些範例 -

public int i1 = 108;
public double d2 = 6.55;

這裡,變數被宣告為公共。

範例

以下範例說明了套件成員在 Java 中的工作原理。

class Pack {  
   public void prnt() { 
      // method declared as public 
      String msg = "I am inside a public method";
      System.out.print(msg);
   }  
}  
public class ClassShow extends Pack { 
   // public child class
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();
   }  
}  

輸出

I am inside a public method

在上面的程式碼中,「Pack」類別是「ClassShow」的父類別。在父類別中,我們宣告了一個名為「prnt()」的公共方法來列印一條簡單的訊息。在子類別的main()方法中,我們定義了子類別「ClassShow」的物件來呼叫公共方法「prnt()」。在這裡,子類別也是公共的。

受保護的存取修飾符

多用於繼承的情況下,控制父類別成員和對應子類別成員的存取。它允許在當前套件之外存取元素,但只能存取類別的直接子類別。在這裡,包是保存一組類別的容器。

受保護存取修飾符的一些範例 -

protected int data1 = 5;
protected double data2 = 5.55;

這裡,變數被宣告為受保護的。

範例

以下範例說明了 Java 中受保護方法的使用。

class Pack {  
   protected void prnt() {
      String msg = "Tutorials Point!!";
      System.out.print("Welcome to " + msg);
   }  
}  
public class ClassShow extends Pack {  
   public static void main(String args[]) { 
      // creating object of child class
      ClassShow obj = new ClassShow();  
      // method calling through object of child class
      obj.prnt();  
   }  
}  

輸出

Welcome to Tutorials Point!!

在上面的程式碼中,「Pack」類別是「ClassShow」的父類別。在父類別中,我們宣告了一個名為「prnt()」的受保護方法來列印一條簡單的訊息。在子類別的main()方法中,我們定義了子類別‘ClassShow’的物件來呼叫受保護的方法‘prnt()’。

公用與受保護的存取修飾符

從上面的討論中,我們可以得出公共和私有存取修飾符之間的以下區別 -

公開

受保護

我們需要使用關鍵字「public」來指定成員公開。

我們使用「protected」關鍵字來指定成員受到保護。

我們可以將任何類別定義為公共類別。

類別不能被定義為受保護的。

公共成員可以被包內和包外的任何類別存取。

受保護的成員可以在套件內以及其他套件中存取。但對於其他包,它只能被繼承的類別存取。

頂級和會員均適用。

僅適用於會員等級。

結論

我們首先定義了 public 和 protected 存取修飾符,在後面的部分中,我們透過各自的範例詳細解釋了它們。最後,我們討論了它們之間的一些差異。

以上是Java中的公用(public)與受保護(protected)存取修飾符的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除