Java.lang.Class 类

java.lang.Class.getDeclaredMethods() 方法返回一个包含 Method 对象的数组,该对象反映了该类的所有已声明方法或此 Class 对象表示的接口,包括 public、protected、默认(包)访问和私有方法,但不包括继承的方法。

如果此 Class 对象表示没有声明方法的类或接口,则返回的数组的长度为 0。如果此 Class 对象表示数组类型、基本类型或 void,则返回的数组的长度为 0。

语法

public Method[] getDeclaredMethods()
                            throws SecurityException

参数

语法

import java.lang.*;
import java.lang.reflect.*;

public class MyClass {
  public static void main(String[] args) {
    try {
      Class cls = Class.forName("java.lang.Boolean");

      //打印可访问的公共方法
      Method m[] = cls.getDeclaredMethods();
      System.out.println("Methods are: ");
      for(Method i: m)
        System.out.println(i);
        
    } catch (Exception e) {
      System.out.println(e);
    }
  }
}

参数

语法

h3>

不需要参数。

返回值

返回表示此类的所有已声明方法的 Method 对象数组。

Exception

如果存在安全管理器 s 并且满足以下任一条件,则抛出 SecurityException:

  • 调用者的类加载器与此类的类加载器不同,并且使用 RuntimePermission("accessDeclaredMembers") 调用 s.checkPermission 方法会拒绝访问此类中声明的方法。
  • 调用者的类加载器与当前类的类加载器不同或不是其祖先,并且调用 s.checkPackageAccess() 会拒绝访问此类的包。

示例:

下面的示例显示了 java.lang.Class.getDeclaredMethods() 方法的用法。

Methods are: 
public boolean java.lang.Boolean.equals(java.lang.Object)
public java.lang.String java.lang.Boolean.toString()
public static java.lang.String java.lang.Boolean.toString(boolean)
public static int java.lang.Boolean.hashCode(boolean)
public int java.lang.Boolean.hashCode()
public int java.lang.Boolean.compareTo(java.lang.Boolean)
public int java.lang.Boolean.compareTo(java.lang.Object)
public static boolean java.lang.Boolean.getBoolean(java.lang.String)
public boolean java.lang.Boolean.booleanValue()
public static java.lang.Boolean java.lang.Boolean.valueOf(java.lang.String)
public static java.lang.Boolean java.lang.Boolean.valueOf(boolean)
public static int java.lang.Boolean.compare(boolean,boolean)
public static boolean java.lang.Boolean.parseBoolean(java.lang.String)
public static boolean java.lang.Boolean.logicalAnd(boolean,boolean)
public static boolean java.lang.Boolean.logicalOr(boolean,boolean)
public static boolean java.lang.Boolean.logicalXor(boolean,boolean)

上述代码的输出将是:

yxjc0trans1