
如何在 Java 中设置函数的访问权限?
Java 中的访问权限决定了哪些代码可以访问指定的类、成员变量或方法。正确设置访问权限对于保证代码的安全性和可维护性至关重要。
访问权限修饰符
Java 中有四种访问权限修饰符:
立即学习“Java免费学习笔记(深入)”;
- public:对所有代码可见。
- protected:对同一包中的代码和子类可见。
- default(无修饰符):仅对同一包中的代码可见。
- private:仅对同一类中的代码可见。
设置函数访问权限
可以在方法声明前添加访问权限修饰符来设置函数的访问权限。
// 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() 函数,同时仍允许其他包中的代码通过扩展子类来使用该功能。










