package d18_3_1;

import java.lang.reflect.Method;
import java.util.Arrays; /**
* 获取Class对应类所包含的方法的四个方法
*
* 运行结果
* [public void d18_3_1.Test3.setAge(int), public int d18_3_1.Test3.getAge(), protected java.lang.String d18_3_1.Test3.getName(), private void d18_3_1.Test3.setName(java.lang.String)]
* private void d18_3_1.Test3.setName(java.lang.String)
* protected java.lang.String d18_3_1.Test3.getName()
* [public void d18_3_1.Test3.setAge(int), public int d18_3_1.Test3.getAge(), public final void java.lang.Object.wait() throws java.lang.InterruptedException, public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException, public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException, public boolean java.lang.Object.equals(java.lang.Object), public java.lang.String java.lang.Object.toString(), public native int java.lang.Object.hashCode(), public final native java.lang.Class java.lang.Object.getClass(), public final native void java.lang.Object.notify(), public final native void java.lang.Object.notifyAll()]
* public void d18_3_1.Test3.setAge(int)
* public void d18_3_1.Test3.setAge(int)
* public int d18_3_1.Test3.getAge()
*/
public class ClassInfo2 { public static void main(String[] args) throws NoSuchMethodException, SecurityException {
Class c = Test3.class;
// 1、获取所有的方法,不论是否私有
Method[] ms1 = c.getDeclaredMethods();
System.out.println(Arrays.toString(ms1));
// 2、获取所有方法中的指定的方法 (方法名,方法参数类型)
Method m1=c.getDeclaredMethod("setName",String.class);
System.out.println(m1);
Method m2=c.getDeclaredMethod("getName");
System.out.println(m2);
// 3、获取所有public方法
Method[] ms2 = c.getMethods();
System.out.println(Arrays.toString(ms2));
// 4、获取所有publc方法中指定的方法 (方法名,方法参数类型)
//若指定的方法不存在时,会报Source not found.必须是public方法.
Method m3=c.getMethod("setAge",int.class);
System.out.println(m3);
Method m4=c.getMethod("setAge",Integer.TYPE);// int.class 等价于 Integer.TYPE
System.out.println(m4);
Method m5=c.getMethod("getAge");
System.out.println(m5);
}
} class Test3 {
private String name;
private int age;
String sex; private Test3() { } protected String getName() {
return name;
} private void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} }

  

18.3.2从Class上获取信息(方法)的更多相关文章

  1. 18.3.2从Class上获取信息(注解)

    package d18_3_1; /** * Class类上所包含的注解 * * getAnnotation(Class annotationClass) 获取该元素上指定的类型的注解 * getAn ...

  2. 18.3.2从Class上获取信息(构造器)

    获取构造器信息 package d18_3_1; import java.lang.reflect.Constructor; import java.util.Arrays; /** * 获取构造器的 ...

  3. 18.3.2从Class上获取信息(属性)

    package d18_3_1; import java.lang.reflect.Field; import java.util.Arrays; /** * 获取Class对应类所包含的属性的四个方 ...

  4. 18.3.2从Class上获取信息(内部类接口等)

    内部类 接口.枚举.注释类型

  5. jquery通过AJAX从后台获取信息并显示在表格上的类

    前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...

  6. jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...

  7. Thinkphp5获取文件上传信息

    Thinkphp5内置有处理文件上传的方法,因在开发文档没有找到获取上传文件基本信息的说明,故在这里做一下记录. $file = request()->file('input类型为file的na ...

  8. activiti流程图上获取各节点的信息获取

    背景:         由于项目的需要,当用户在查看流程图时,当点击某个流程图片上的节点时,需要提示一些信息,这就需要获取各个节点的信息,此处获取id和name的值.           注意:这个并 ...

  9. 史上最全Linux提权后获取敏感信息方法

    http://www.freebuf.com/articles/system/23993.html 在本文开始之前,我想指出我不是专家.据我所知,在这个庞大的区域,没有一个“神奇”的答案.分享,共享( ...

随机推荐

  1. js modify local file

    https://stackoverflow.com/questions/4561157/is-it-possible-to-modify-a-html-file-from-which-the-scri ...

  2. CSS3 Selector

    每个前端工程师可能每天都会写一些css,其中选择器是很主要的一部分.但是,大家可能每天写的大多是#id,.class这样的选择器,这并不稀奇,但是如果我们了解并且熟用css3为我们提供的强大并且优雅的 ...

  3. what's WSDL

    WSDL (Web Services Description Language,Web服务描述语言) 它是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些 ...

  4. Shell编程——Shell中的数学运算

    在Linux Shell中进行数学运算,通常能够使用的运算符有: 简单运算: let [] (()) 高级运算: expr bc 1.let命令 let命令是bash内置命令.能够实现简单的算术以及逻 ...

  5. 使用delphi 开发多层应用(十六)使用XMLRPC 实现basic4android 远程调用RTC服务(讲述了RTC的特点,其底层通讯协议是自己封装SOCK 库,与kbmmw 的适合场合不完全一样)

        RealThinClient (以下简称RTC) 也是一款delphi 多层开发的框架,由于其底层通讯协议是自己封装SOCK 库,抛弃了 大家诟病的indy,因此表现的非常稳定,效率也非常高, ...

  6. uCos临界区保护

    定义有三种method,stm32f4采用的是第三种:将当前中断的状态标志保存在一个局部变量cpu_sr中,然后再关闭中断.cpu_sr是一个局部变量,存在于所有需要关中断的函数中.注意到,在使用了该 ...

  7. CSS中的那点事儿(一)--- CSS中的单位2

    在上篇博客提到了%.px.em三个单位,其中最复杂的是em,因为要计算当前元素内的font-size,必须知道其父元素的font-size,层层累积,容易出错.现在CSS3中引入了新的单位rem,改变 ...

  8. SPOJ:Elegant Permuted Sum(贪心)

    Special Thanks: Jane Alam Jan*At moment in University of Texas at San Antonio - USA You will be give ...

  9. BZOJ_4278_[ONTAK2015]Tasowanie_后缀数组

    BZOJ_4278_[ONTAK2015]Tasowanie_后缀数组 Description 给定两个数字串A和B,通过将A和B进行二路归并得到一个新的数字串T,请找到字典序最小的T. Input ...

  10. liunx命令之【查看某个端口号的使用情况】

    第一:查看端口占用情况的命令:lsof -i:<端口号>