如何在 Java 中设置函数的访问权限?
Java 中的访问权限决定了哪些代码可以访问指定的类、成员变量或方法。正确设置访问权限对于保证代码的安全性和可维护性至关重要。
访问权限修饰符
Java 中有四种访问权限修饰符:
设置函数访问权限
可以在方法声明前添加访问权限修饰符来设置函数的访问权限。
// public 函数可以在任何地方访问 public void publicMethod() { // ... } // protected 函数只能在同一包中或其子类中访问 protected void protectedMethod() { // ... } // default 函数仅在同一包中可见 void defaultMethod() { // ... } // private 函数只能在同一类中访问 private void privateMethod() { // ... }
实战案例
考虑一个日志记录类,其中包含一个 log()
函数用于打印消息。我们希望确保只有该包中的代码才能直接访问该函数。
package com.example.logging; public class Logger { protected void log(String message) { System.out.println(message); } }
通过将 log()
函数声明为 protected
,我们限制了对它的直接访问。其他包中的代码可以间接地通过子类访问该函数:
package com.example.otherpackage; import com.example.logging.Logger; public class MyLogger extends Logger { public void myLog(String message) { log(message); // 从子类访问受保护的函数 } }
这样,我们可以确保仅授权代码可以访问 Logger
类的 log()
函数,同时仍允许其他包中的代码通过扩展子类来使用该功能。