java.lang.Class.getDeclaredMethod()方法详解
Java.lang.Class.getDeclaredMethod()方法用法
注:方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。
描述
java.lang.Class.getDeclaredMethod()方法返回一个Method对象,它反映此Class对象所表示的类或接口的指定已声明方法。
name 参数是一个字符串,指定所需的方法的简单名称,
parameterTypes 参数是一个数组的Class对象识别方法的形参类型,在声明的顺序
声明
- 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()方法
- package com.app.ui;
- import java.lang.reflect.*;
- public class ClassDemo {
- public static void main(String[] args) {
- ClassDemo cls = new ClassDemo();
- Class c = cls.getClass();
- try {
- // parameter type is null
- Method m = c.getDeclaredMethod("show", null);
- System.out.println("method = " + m.toString());
- // method Integer
- Class[] cArg = new Class[1]
- cArg[0] = Integer.class;
- Method lMethod = c.getDeclaredMethod("showInteger", cArg);
- System.out.println("method = " + lMethod.toString());
- }catch(NoSuchMethodException e){
- System.out.println(e.toString());
- }
- }
- private Integer show() {
- return 1;
- }
- public void showInteger(Integer i) {
- this.i = i;
- }
- public int i = 78655;
- }
编译和运行程序,产生以下结果:
- method = private java.lang.Integer ClassDemo.show()
- method = public void ClassDemo.showInteger(java.lang.Integer)
注:
getDeclaredMethod() 获取的是类自身声明的所有方法,包含public、protected和private方法。
getMethod () 获取的是类的所有共有方法,这就包括自身的所有public方法,和从基类继承的、从接口实现的所有public方法。
java.lang.Class.getDeclaredMethod()方法详解的更多相关文章
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- 使用Java操作文本文件的方法详解
使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而 ...
- java的ArrayList使用方法详解
ArrayList是Java的链表类,在项目开发中十分常见,那么怎样对ArrayList进行添加.删除.修改.查询.遍历呢?本文将进行详细阐述. 工具/原料 java 一.ArrayList的添加 ...
- 运行java的class文件方法详解
一.运行class文件 执行带main方法的class文件,命令行为:java <CLASS文件名>注意:CLASS文件名不要带文件后缀.class 例如: 复制代码代码如下: java ...
- java.lang.Thread.State类详解
public static enum Thread.Stateextends Enum<Thread.State>线程状态.线程可以处于下列状态之一: 1.NEW 至今尚未启动的线程的状态 ...
- 转:Java中的Clone()方法详解
Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...
- Java equals() 和hashCode()方法详解
Java的Object类中定义了equals方法,Object类中的equals方法源代码如下,从源代码中可以看出Object类中的equals方法是用来返回判断两个对象是否指向同一个对象(引用地址) ...
- Java连载39-构造方法详解
一. 1.多行注释:CTRL + shift + / 2.当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器. public class D39 ...
- Java定时器Timer使用方法详解
感谢大佬:https://www.jb51.net/article/129808.htm 一.概念 定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和 ...
随机推荐
- python基础3 - 变量的基本使用和命名
4.变量的基本使用 4.1 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建 等号(=)用来给变量赋值 = 左边是变量名 = 右边是存储在变量中的值 变 ...
- Tomcat翻译--The Host Container
原文:http://tomcat.apache.org/tomcat-7.0-doc/config/host.html Introduction(介绍) The Host element repres ...
- Object.assign()与深拷贝(一)
深拷贝与浅拷贝 所谓深拷贝与浅拷贝,是围绕引用类型变量的拷贝进行的讨论. 在ECMAScript中,变量分为基本类型和引用类型两种.其本质区别是不可变性,基本类型是不可变的,而引用类型是可变的. 所谓 ...
- js抛物线
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 清新大气的ListView下拉上拉刷新--第三方开源--PullDownListView
下载地址:https://github.com/guojunyi/PullDownListView 使用: xml: <com.pulldownlistview.PullDownListView ...
- KVM- 存储池配置
1.创建基于文件夹的存储池(目录) [root@kvm_1 ~]# mkdir -p /data/vmfs 2.定义存储池与其目录 [root@kvm_1 ~]# virsh pool-define- ...
- 201621123014《Java程序设计》第七周学习总结
1. 本周学习总结 1.1 思维导图:Java图形界面总结 答: 1.2 可选:使用常规方法总结其他上课内容. 答:1.Swing组件主要分为容器组件和其他组件. 2.JFrame和JPanel都可以 ...
- python3 xrange报错
因为python3取消了xrange这个函数,range就是xrange.
- docker下安装 Oracle11gR2
这是第二次安装,在第一次安装过程部分内容参考自如下: http://blog.sina.com.cn/s/blog_d840ff330102v4j0.html docker下oracle11g安装 h ...
- CH5E01[NOIP2010] 乌龟棋[暴力]
众所周知,由于这个人太菜了,所以她又来切上古水题了. 显然最多$40^4$种状态,暴力跑出可以拼出多少种状态,然后按序号从小到大对应的状态瞎转移即可. 我知道我想繁了,但是不想改了,因为思路一出来,没 ...