存取權限修飾符用於控製成員可見性,Java 提供四種修飾符:public(所有類別可存取)、protected(本包內類別和子類別可存取)、default(僅在本包內類可存取)、private(僅在本類內可存取)。根據繼承規則,子類別繼承父類別的存取權限,但不能擴大。限制對類別或介面的存取可透過 private 修飾符實現。 protected 和 default 修飾符的區別在於前者允許子類別和本包內類別訪問,而後者僅允許本包內類別存取。
Java 函數的存取權修飾符之常見問題解答
存取權修飾符用於控制類別、介面、方法等成員的可見性。 Java 提供了四種存取權修飾符:
常見問題:
Q1:如何使用存取權限修飾符?
A: 在定義類別成員時,使用適當的存取權修飾符作為前綴,例如:
public class Person { private String name; }
Q2:存取權修飾符的繼承規則是怎樣的?
A: 子類別繼承父類別的存取權限,但不能擴大它。例如:
class Parent { protected void doSomething() { } } class Child extends Parent { void doSomething() { } // 子类不能将保护方法声明为默认方法 }
Q3:如何限制對類別或介面的存取?
A: 使用 private
存取權修飾符將其設為私有,使其僅供自身使用。
Q4:protected 和 default 存取權限修飾符有什麼區別?
A: protected
存取權限允許子類別和本包內的類別訪問,而default
存取權限僅允許本包內的類別訪問。
實戰案例:
建立一個Employee 類,具有name、salary 和jobDescription 私人字段,並提供getter 和setter 方法:
public class Employee { private String name; private double salary; private String jobDescription; public String getName() { return name; } public double getSalary() { return salary; } public String getJobDescription() { return jobDescription; } public void setName(String name) { this.name = name; } public void setSalary(double salary) { this.salary = salary; } public void setJobDescription(String jobDescription) { this.jobDescription = jobDescription; } }
這個範例中,私有字段限制了直接訪問,而getter 和setter 方法提供了受控的間接訪問。
以上是Java 函數的存取權修飾符之常見問題解答的詳細內容。更多資訊請關注PHP中文網其他相關文章!