Java 中的存取修飾符用於限制類別、介面、欄位和方法的存取範圍,它們分別表示不同的存取控制層級。 Java 中共有四種存取修飾符:public、protected、default 和 private。
public 是最開放的存取修飾符,用於指定公共存取等級。被 public 修飾的類別、介面、欄位和方法可以在任何地方被存取。
例如,下面的程式碼定義了一個公共類別:
public class MyClass { // ... }
這個類別可以在任何地方被存取。另外,如果一個方法或欄位被宣告為 public,那麼它也可以在任何地方被存取。例如:
public class MyClass { public String name; public void sayHello() { System.out.println("Hello, world!"); } }
protected 用於指定受保護的存取等級。被 protected 修飾的類別、欄位和方法可以被本包內的其他類別訪問,以及子類別中存取。
例如,下面的程式碼定義了一個受保護的類別:
package mypackage; protected class MyProtectedClass { // ... }
這個類別只能被 mypackage 套件內的其他類別訪問,以及繼承了 MyProtectedClass 的子類別存取。另外,如果一個方法或欄位被宣告為 protected,那麼它也可以被同一套件內的其他類別訪問,以及繼承了該類別的子類別存取。例如:
package mypackage; public class MyClass { protected String name; protected void sayHello() { System.out.println("Hello, world!"); } }
這個類別的 name 和 sayHello 方法可以被 mypackage 套件內的其他類別訪問,以及繼承了 MyClass 的子類別存取。
default 是 Java 中預設的存取修飾符,它也稱為套件級私有存取控制。如果一個類別、介面、欄位或方法沒有使用任何存取修飾符,那麼它就是預設存取等級。預設存取等級表示只能在同一包內進行存取。
例如,下面的程式碼定義了一個預設存取等級的類別:
package mypackage; class MyDefaultClass { // ... }
這個類別只能被 mypackage 套件內的其他類別存取。另外,如果一個方法或欄位沒有使用任何存取修飾符,那麼它也是預設存取等級。例如:
package mypackage; public class MyClass { String name; void sayHello() { System.out.println("Hello, world!"); } }
這個類別的 name 和 sayHello 方法只能被 mypackage 套件內的其他類別存取。
private 是最嚴格的存取修飾符,它用於指定私有存取等級。被 private 修飾的欄位和方法只能在定義它們的類別內部進行存取。
例如,下面的程式碼定義了一個私有類別:
public class MyClass { private String name; private void sayHello() { System.out.println("Hello, world!"); } }
這個類別的 name 和 sayHello 方法只能在 MyClass 類別內部進行存取。
以上是Java中的存取修飾符怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!