18.3.2从Class上获取信息(方法)
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上获取信息(方法)的更多相关文章
- 18.3.2从Class上获取信息(注解)
package d18_3_1; /** * Class类上所包含的注解 * * getAnnotation(Class annotationClass) 获取该元素上指定的类型的注解 * getAn ...
- 18.3.2从Class上获取信息(构造器)
获取构造器信息 package d18_3_1; import java.lang.reflect.Constructor; import java.util.Arrays; /** * 获取构造器的 ...
- 18.3.2从Class上获取信息(属性)
package d18_3_1; import java.lang.reflect.Field; import java.util.Arrays; /** * 获取Class对应类所包含的属性的四个方 ...
- 18.3.2从Class上获取信息(内部类接口等)
内部类 接口.枚举.注释类型
- jquery通过AJAX从后台获取信息并显示在表格上的类
前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...
- jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中
不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...
- Thinkphp5获取文件上传信息
Thinkphp5内置有处理文件上传的方法,因在开发文档没有找到获取上传文件基本信息的说明,故在这里做一下记录. $file = request()->file('input类型为file的na ...
- activiti流程图上获取各节点的信息获取
背景: 由于项目的需要,当用户在查看流程图时,当点击某个流程图片上的节点时,需要提示一些信息,这就需要获取各个节点的信息,此处获取id和name的值. 注意:这个并 ...
- 史上最全Linux提权后获取敏感信息方法
http://www.freebuf.com/articles/system/23993.html 在本文开始之前,我想指出我不是专家.据我所知,在这个庞大的区域,没有一个“神奇”的答案.分享,共享( ...
随机推荐
- 如何删除ini文件中的内容
1.删除子项值:::WritePrivateProfileString(分区名称, 子项名称, "", ini文件路径); 2.删除子项(名称和值):::WritePrivateP ...
- VUE 之 vuex 和 axios
1.Vuex 部分 1.1 Vuex 是专门为vue.js设计的集中式状态管理架构,其实就是将数据存在一个store中,共各个组件共享使用 1.2 配置: 1.2.1 下载:--npm install ...
- LiberOJ #6210. 「美团 CodeM 决赛」tree 树形DP
题目链接:点这里 题解: 需要证明,所求的路径一定是全部权值都为1或者,路径上权值至多有一个为2其余为1且权值2在路径中央. 然后树形DP 设定dp[i][0/1] 以1为根的情况下,以i 节点下子树 ...
- java面试题(摘录)
1.抽象,继承,封装,多态 2.基本数据类型的字节数 byte:1.int:4.char:2.long:8.float:4.double:8.boolean:1 和short:2 3.String , ...
- Vue : props 使用细节(父组件传递数据给子组件)
props使用细节 在Vue.js中我们可以使用 props 实现父组件传递数据给子组件,下面我们总结一下props的使用细节 1.基础类型检查 2.必填数据 3.默认值 4.自定义验证函数 其中每一 ...
- proc_create的使用方法
proc_create的使用方法 proc文件系统是个有用的东东.创建一个proc虚拟文件,应用层通过读写该文件,即可实现与内核的交互.proc虚拟文件是如何创建的呢? 先看看比较简单的,创建proc ...
- bzoj3136: [Baltic2013]brunhilda
这个题为什么会放在数据结构啊 首先因为有决策包容性,对于一个n每次必然选择一个n%p最大的p,令n减n%p 设fi表示i变成0的步数的话,同样我们可以知道f是有单调性的 假如fd能转移到fk,首先d一 ...
- 【Maven】pom.xml(1)
在pom.xml加入: <build> <finalName>oauth2</finalName> <resources> <resource&g ...
- 修改fuse库成功
使用的是fuse-2.9.2 在lib目录下的helper.c的fuse_main_real函数里打印一句话,然后将fuse库编译并install. 对ssfs进行编译,运行后,出现了打印的那句话! ...
- iOS之strong和copy
深拷贝和浅拷贝 深拷贝和浅拷贝主要是对类类型而言的,浅拷贝就是指针拷贝,深拷贝是对象拷贝. property的strong和copy 在接触iOS程序时经常会看到程序某些类类型属性被strong修饰, ...