Java.lang.Class.getDeclaredMethod()方法用法

注:方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。

描述

java.lang.Class.getDeclaredMethod()方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。

name 参数是一个字符串,指定所需的方法的简单名称,

parameterTypes 参数是一个数组的Class对象识别方法的形参类型,在声明的顺序

声明

  1. public Method getDeclaredMethod(String name, Class... parameterTypes) throws NoSuchMethodException,SecurityException

参数
name -- 方法的名称
parameterTypes -- 参数数组

返回值
匹配指定名称和参数的类的方法,此方法返回的Method对象

异常
NoSuchMethodException -- 如果匹配方法未找到

NullPointerException -- 如果name 为 null.

SecurityException -- If a security manager, s, is present.

实例
如何使用java.lang.Class.getDeclaredMethod()方法

  1. package com.app.ui;
  2. import java.lang.reflect.*;
  3. public class ClassDemo {
  4. public static void main(String[] args) {
  5. ClassDemo cls = new ClassDemo();
  6. Class c = cls.getClass();
  7. try {
  8. // parameter type is null
  9. Method m = c.getDeclaredMethod("show", null);
  10. System.out.println("method = " + m.toString());
  11. // method Integer
  12. Class[] cArg = new Class[1]
  13. cArg[0] = Integer.class;
  14. Method lMethod = c.getDeclaredMethod("showInteger", cArg);
  15. System.out.println("method = " + lMethod.toString());
  16. }catch(NoSuchMethodException e){
  17. System.out.println(e.toString());
  18. }
  19. }
  20. private Integer show() {
  21. return 1;
  22. }
  23. public void showInteger(Integer i) {
  24. this.i = i;
  25. }
  26. public int i = 78655;
  27. }

编译和运行程序,产生以下结果:

  1. method = private java.lang.Integer ClassDemo.show()
  2. method = public void ClassDemo.showInteger(java.lang.Integer)

注:

getDeclaredMethod() 获取的是类自身声明的所有方法,包含public、protected和private方法。

getMethod () 获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。

java.lang.Class.getDeclaredMethod()方法详解的更多相关文章

  1. Java中的main()方法详解

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...

  2. 使用Java操作文本文件的方法详解

    使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...

  3. java的ArrayList使用方法详解

    ArrayList是Java的链表类,在项目开发中十分常见,那么怎样对ArrayList进行添加.删除.修改.查询.遍历呢?本文将进行详细阐述. 工具/原料   java 一.ArrayList的添加 ...

  4. 运行java的class文件方法详解

    一.运行class文件 执行带main方法的class文件,命令行为:java <CLASS文件名>注意:CLASS文件名不要带文件后缀.class 例如: 复制代码代码如下: java ...

  5. java.lang.Thread.State类详解

    public static enum Thread.Stateextends Enum<Thread.State>线程状态.线程可以处于下列状态之一: 1.NEW 至今尚未启动的线程的状态 ...

  6. 转:Java中的Clone()方法详解

    Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  7. Java equals() 和hashCode()方法详解

    Java的Object类中定义了equals方法,Object类中的equals方法源代码如下,从源代码中可以看出Object类中的equals方法是用来返回判断两个对象是否指向同一个对象(引用地址) ...

  8. Java连载39-构造方法详解

    ​一. 1.多行注释:CTRL + shift + / 2.当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器. public class D39 ...

  9. Java定时器Timer使用方法详解

    感谢大佬:https://www.jb51.net/article/129808.htm 一.概念 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和 ...

随机推荐

  1. 新建Maven项目Index.jsp文件报错解决方法

    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path    in ...

  2. RtlWerpReportException failed with status code :-1073741823

    在release下程序运行总是崩溃:debugView输出了这个崩溃信息, 1. 一开始是release看崩溃,各种二分法找崩溃点,太玄没找到: 2. 终于想到可以调试,我草,调试一下瞬间发现某个cl ...

  3. Composer 入门使用手册

    依赖管理 官网地址:http://docs.phpcomposer.com/00-intro.html#Locally Composer 不是一个包管理器.是的,它涉及 "packages& ...

  4. 洛谷P1027 Car的旅行路线

    洛谷P1027 Car的旅行路线 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游.她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速 ...

  5. java:file文件类

    public class FileDemo { public static File file; public static void main(String args[]) { String s = ...

  6. 51nod 1131 数列

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1131 1131 覆盖数字的数量 基准时间限制:1 秒 空间限制:1310 ...

  7. 【.Net 】Json和Xml解析

    引言    Json和Xml是现在跨平台传输数据的主流格式,关于它们的解析,网上资料很多,我稍作整理,写成一个小demo,方便日后使用. JSON解析     能进行json解析的类库有很多,例如Ja ...

  8. 简单的shell语句

    1,重启tomcat 脚本: pid=`ps -ef|grep tomcat |grep -v grep |awk '{print $2}'` ##取tomcat的进程号,awk处理字符串 ,取一行的 ...

  9. python 百题计划

    一.基础篇 想要像类似执行shell脚本一样执行Python脚本,需要在py文件开头加上什么?KEY:#!/usr/bin/env python Python解释器在加载 .py 文件中的代码时,会对 ...

  10. Python网络编程2018-01-26更新

    前言:使用python3.x写的socket编程,本人wechat:YWNlODAyMzU5MTEzMTQ=. 如果内容有错,请指出来. ssh服务端 # 1.接收一个连接实例 # 2.接收数据 # ...