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. 轮廓线DP:poj 2279 Mr. Young's Picture Permutations

    poj 2279 Mr. Young's Picture Permutations \(solution:\) 首先摘取一些关键词:(每行不超过它后面的行)(每排学生安排高度从左到右减少)(学生的高度 ...

  2. POJ3258 River Hopscotch —— 二分

    题目链接:http://poj.org/problem?id=3258 River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total ...

  3. dedecms专题列表页不显示标题的解决办法

    在网站专题中的标题都是比较长的,所以在调用title的时候没有使用title而是使用fulltitle的,fulltitle在其他的模型中都是可以正常使用的,也可以调用出字段,但是在专题中就没有调用出 ...

  4. 让th里面的东西自动换行

    让th里面的东西自动换行 html中的TH里面的文字不管多长,始终是一行,很烦 <th style="word-wrap:break-word;">aaaaaaaaaa ...

  5. 自写程序调用mount

    代码: int fd = open("/dev/fuse", O_RDWR); printf("fd=%d\n",fd); int res; res=mount ...

  6. xcode 修改类名 变量名

    修改类名 1.将鼠标点击放在类的名称上,右击选择refactor->rename,或选择Xcode工具栏中的edit->refactor->rename: 2.之后,将类名更改为我们 ...

  7. Windows 上 GitHub Desktop 的操作

    目 录 第1章 上传开源代码至GitHub    1 1.1 git Windows 客户端    1 1.2 注册GitHub账户    2 1.3 登录    2 1.4 创建本地代码仓库     ...

  8. 创建Android本地repo

    /**************************************************************************** * 创建Android本地repo * 说明 ...

  9. I.MX6 Android /data 目录内容

    /**************************************************************************** * I.MX6 Android /data ...

  10. Crontab Build_setting的定期检查

    一.脚本功能 (1)检查所有的builting_setting.h是否能够编译通过,并将编译结果写入 编译结果.h文件中. (2)将编译结果通过邮箱发送给相关负责人. (3)系统定期执行任务,检查bu ...