取得类的全部的方法
来源:互联网 发布:php的错误日志在哪里 编辑:程序博客网 时间:2024/05/17 09:40
通过getMethods()方法取得类的全部的方法
package org.lxh.demo15.classinfodemo ;interface China{// 定义China接口public static final String NATIONAL = "China" ;// 定义全局常量public static final String AUTHOR = "李兴华" ;// 定义全局常量public void sayChina() ;// 无参的,没有返回值的方法public String sayHello(String name,int age) ;// 定义有两个参数的方法,并返回内容}public class Person implements China{private String name ;private int age ;public Person(){// 无参构造}public Person(String name){this.name = name ;// 设置name属性}public Person(String name,int age){this(name) ;this.age = age ;}public void sayChina(){// 覆写方法System.out.println("作者:" + AUTHOR + ",国籍:" + NATIONAL) ;}public String sayHello(String name,int age){return name + ",你好!我今年:" + age + "岁了!" ;}public void setName(String name){this.name = name ;}public void setAge(int age){this.age = age ;}public String getName(){return this.name ;}public int getAge(){return this.age ;}};
package org.lxh.demo15.classinfodemo ;import java.lang.reflect.Method ;// 导入构造方法的包import java.lang.reflect.Modifier ;// 导入构造方法的包public class GetMethodDemo{public static void main(String args[]){Class<?> c1 = null ;// 声明Class对象try{c1 = Class.forName("org.lxh.demo15.classinfodemo.Person") ;// 实例化对象}catch(ClassNotFoundException e){e.printStackTrace() ;}Method m[] = c1.getMethods() ;// 取得全部方法for(int i=0;i<m.length;i++){Class<?> r = m[i].getReturnType() ;// 得到返回值类型Class<?> p[] = m[i].getParameterTypes() ;// 取得全部参数的类型int xx = m[i].getModifiers() ;// 得到修饰符System.out.print(Modifier.toString(xx) + " ") ;// 输出修饰符System.out.print(r + " ") ;System.out.print(m[i].getName()) ;System.out.print("(") ;for(int j=0;j<p.length;j++){System.out.print(p[j].getName() + " " + "arg" + j) ;if(j<p.length-1){System.out.print(",") ;}}Class<?> ex[] = m[i].getExceptionTypes() ;// 取出异常if(ex.length>0){System.out.print(") throws ") ;}else{System.out.print(")") ;}for(int j=0;j<ex.length;j++){System.out.print(ex[j].getName()) ;if(j<p.length-1){System.out.print(",") ;}}System.out.println() ;}}};运行结果:
public class java.lang.String getName()public void setName(java.lang.String arg0)public void sayChina()public class java.lang.String sayHello(java.lang.String arg0,int arg1)public void setAge(int arg0)public int getAge()public final void wait(long arg0,int arg1) throws java.lang.InterruptedException,public final native void wait(long arg0) throws java.lang.InterruptedExceptionpublic final void wait() throws java.lang.InterruptedExceptionpublic boolean equals(java.lang.Object arg0)public class java.lang.String toString()public native int hashCode()public final native class java.lang.Class getClass()public final native void notify()public final native void notifyAll()
0 0
- 取得类的全部的方法
- 取得全部的LocationProvider
- 取得类所实现的接口、取得父类、全部构造方法
- 取得字符串的全部声母
- Java反射机制(取得类的全部的属性)
- Java反射机制(取得类的全部的属性)
- 如何取得Android 系统的源代码--全部
- 16.2.2 取得正则表达式的全部匹配
- iPhone 取得磁盘的全部和剩余空间
- 检查目标类的全部方法信息
- 相对路径的取得方法
- 取得磁盘符号的方法
- 取得磁盘符号的方法
- 取得DataList内容的方法
- 取得路径的各种方法
- C#取得时间的方法
- struts2取得request的方法
- 管理员取得权限的方法
- CATransform3D 特效详解
- 学习资料相关网站
- Swift中文教程(十九) 类型嵌套
- 开发js时的提示错误小技巧
- 【精】Linux 使用free查询可用内存
- 取得类的全部的方法
- 【Xml配置文件的数据读取】
- 理解RESTful架构
- Swift中文教程(二十) 扩展
- 【杭电oj】1997 - 汉诺塔VII(递归,思维)
- 民主的常识
- Java:类与继承
- ubuntu试用小练手
- 动态规划之最长公共子序列