📜  Java中的修饰符 methodModifiers() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:57.973000             🧑  作者: Mango

Java中的修饰符 methodModifiers() 方法及示例

Java中的修饰符指定了类的属性、方法和构造函数的访问权限。方法修饰符指定了方法的访问权限、生命周期和线程安全性等。Java中有以下访问修饰符:

  • public:公共访问修饰符,任何人都可以访问。
  • protected:保护访问修饰符,只有本包中的类和在其它包中的子类才可以访问。
  • private:私有访问修饰符,只有本类中可以访问。
  • default:默认访问修饰符,即不加任何修饰符,只有在本包中才可以访问。
methodModifiers() 方法

Java中提供了一个 methodModifiers() 方法用于获取方法修饰符。该方法返回一个整数,不同的位代表了不同的访问修饰符标志。

方法声明如下:

public static int methodModifiers(Method m)

参数说明:

  • m:需要获取修饰符的 Method 对象。

返回值说明:

  • 一个位标志,对应访问修饰符的使用情况。这个标志可以通过反射API的Modifier类上的静态常量和方法来解码。

下面是 methodModifiers() 方法的示例代码:

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class MethodModifiersExample {

    public static void main(String[] args) {
        MethodModifiersExample example = new MethodModifiersExample();
        try {
            Method method = example.getClass().getMethod("publicMethod");
            int modifiers = Modifier.methodModifiers();
            if(Modifier.isPublic(modifiers)) {
                System.out.println("Method is public.");
            } else if (Modifier.isProtected(modifiers)) {
                System.out.println("Method is protected.");
            } else if (Modifier.isPrivate(modifiers)) {
                System.out.println("Method is private.");
            } else {
                System.out.println("Method is package-private.");
            }
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        }
    }

    public void publicMethod() {
        System.out.println("Public method called.");
    }
}

以上代码中,我们首先获取了 MethodModifiersExample 类中名为 publicMethod 的公共方法的 Method 对象。然后使用 Modifier.isPublic(),Modifier.isProtected() 和 Modifier.isPrivate() 方法判断该方法是公共的、保护的、私有的还是包私有的。最后,根据方法的不同修饰符进行不同的操作。

总结

Java中的修饰符用于控制类、方法和构造函数的访问权限。通过 Modifier 类提供的方法,可以轻松地获取方法的修饰符并进行相应的处理。掌握这些基础知识,对于理解Java中的访问控制机制非常重要。