当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Class getDeclaredMethod()用法及代码示例


java.lang.Class类的getDeclaredMethod()方法用于获取具有指定参数类型的此类的指定方法。该方法以Method对象的形式返回此类的指定方法。

用法:

public Method getDeclaredMethod(String methodName, 
                            Class[] parameterType)
       throws NoSuchMethodException, SecurityException

参数:此方法接受两个参数:


  • methodName这是要获得的方法。
  • parameterType这是指定方法的参数类型的数组。

返回值:此方法以Method对象的形式返回此类的指定方法。

异常该方法抛出:

  • NoSuchMethodException如果找不到具有指定名称的方法。
  • NullPointerException 如果名称为null
  • SecurityException如果存在安全管理员并且不满足安全条件。

    下面的程序演示了getDeclaredMethod()方法。

    示例1:

    // Java program to demonstrate 
    // getDeclaredMethod() method 
      
    import java.util.*; 
      
    public class Test { 
      
        public void func() {} 
      
        public static void main(String[] args) 
            throws ClassNotFoundException, NoSuchMethodException 
        { 
      
            // returns the Class object for this class 
            Class myClass = Class.forName("Test"); 
      
            System.out.println("Class represented by myClass: "
                               + myClass.toString()); 
      
            String methodName = "func"; 
            Class[] parameterType = null; 
      
            // Get the method of myClass 
            // using getDeclaredMethod() method 
            System.out.println( 
                methodName + " Method of myClass: "
                + myClass.getDeclaredMethod( 
                      methodName, parameterType)); 
        } 
    }
    输出:
    Class represented by myClass: class Test
    func Method of myClass: public void Test.func()
    

    示例2:

    // Java program to demonstrate 
    // getDeclaredMethod() method 
      
    import java.util.*; 
      
    class Main { 
      
        private void func() {} 
      
        public static void main(String[] args) 
            throws ClassNotFoundException, NoSuchMethodException 
        { 
            // returns the Class object for this class 
            Class myClass = Class.forName("Main"); 
      
            System.out.println("Class represented by myClass: "
                               + myClass.toString()); 
      
            String methodName = "func"; 
            Class[] parameterType = null; 
      
            try { 
                // Get the method of myClass 
                // using getDeclaredMethod() method 
                System.out.println( 
                    methodName + " Method of myClass: "
                    + myClass.getDeclaredMethod( 
                          methodName, parameterType)); 
            } 
            catch (Exception e) { 
                System.out.println(e); 
            } 
        } 
    }
    输出:
    Class represented by myClass: class Main
    func Method of myClass: private void Main.func()
    

    参考: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getDeclaredMethod-java.lang.String-java.lang.Class…-



相关用法


注:本文由纯净天空筛选整理自srinam大神的英文原创作品 Class getDeclaredMethod() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。