package com.cn.service;public interface China {public static final String NATIONAL="China";public static final String AUTHOR="老李";public void sayChina();public String sayHello(String name,int age);
}package com.cn.model;import com.cn.service.China;public class Person implements China{private String name;private int age;public Person(){}public Person(String name){this.name=name;}public Person(String name,int age){this(name);//调用有一个参数的构造函数this.setAge(age);}public void sayChina() {// TODO Auto-generated method stubSystem.out.println("作者:"+AUTHOR+" ,国籍: "+NATIONAL);}public String sayHello(String name, int age) {// TODO Auto-generated method stubreturn name+",你好!我今年"+age+"岁了";}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}package com.cn.component;import java.lang.reflect.Method;
import java.lang.reflect.Modifier;/*** 获取一个类的全部方法* @author Administrator**/
public class GetMethodDemo {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubClass<?> c=null;//申明class对象,泛型try{c=Class.forName("com.cn.model.Person");//实例化class对象}catch(ClassNotFoundException e){e.printStackTrace();}Method m[]=c.getMethods();//获取类Person的全部方法for(int i=0;i<m.length;i++){int mo=m[i].getModifiers();//获取修饰符数字String priv=Modifier.toString(mo);//获取修饰符System.out.print(priv+"  ");Class<?> type=m[i].getReturnType();//获取返回值类型System.out.print(type.getName()+"  ");//取得返回类型名称System.out.print(m[i].getName()+" ");//方法名称System.out.print("(");//参数左边括号Class<?> pt[]=m[i].getParameterTypes();//获取参数类型for(int j=0;j<pt.length;j++){System.out.print(pt[j].getName()+" "+"arg"+j);//取得参数类型名称,如:int ,或者String if(j<pt.length-1){System.out.print(",");}}Class<?> ex[]=m[i].getExceptionTypes();//获取异常类型if(ex.length>0){System.out.print(") throws ");}else{System.out.print(" )");}for(int k=0;k<ex.length;k++){System.out.print(ex[k].getName());//输出异常信息名称if(k<ex.length-1){System.out.print(" ,");}}System.out.println();//换行}}}
//输出结果,不仅输出person类中的方法,也输出了从Object类中继承的方法
//public  void  setAge (int arg0 )
//public  void  sayChina ( )
//public  java.lang.String  sayHello (java.lang.String arg0,int arg1 )
//public  int  getAge ( )
//public  java.lang.String  getName ( )
//public  void  setName (java.lang.String arg0 )
//public native  int  hashCode ( )
//public final native  java.lang.Class  getClass ( )
//public final  void  wait (long arg0,int arg1) throws java.lang.InterruptedException
//public final  void  wait () throws java.lang.InterruptedException
//public final native  void  wait (long arg0) throws java.lang.InterruptedException
//public  boolean  equals (java.lang.Object arg0 )
//public  java.lang.String  toString ( )
//public final native  void  notify ( )
//public final native  void  notifyAll ( )

Javs 反射 之 取得全部方法相关推荐

  1. 06 面向对象之:反射,双下方法

    一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语 ...

  2. python全栈开发基础【第十七篇】面向对象反射和内置方法

    一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被 ...

  3. Go - 反射中 函数 和 方法 的调用 - v.Call()

    上一篇文章 说到了 Golang 中的反射的一些基本规则,重点就是文章中最后的三点,但是这篇文章并没有说如何在反射中调用函数和方法,这就是接下来要说的. 反射中调用 函数 众所周知,Golang 中的 ...

  4. 面向对象之: 反射和双下方法

    目录 一, 反射 二, 函数VS方法 三, 双下方法 一, 反射 反射:程序可以访问,检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性 p ...

  5. android 反射调用方法可不可以重载,使用Java进行反射投射和重载方法调度

    请注意,所有代码都是一个简化示例,目的是仅传达我的问题的核心思想.它应该都经过轻微的编辑后编译并运行.使用Java进行反射投射和重载方法调度 我有几个类都实现了一个通用接口. public inter ...

  6. 比较一下以“反射”和“表达式”执行方法的性能差异【转】

    由于频繁地使用反射会影响性能,所以ASP.NET MVC采用了表达式树的方式来执行目标Action方法.具体来说,ASP.NET MVC会构建一个表达式来体现针对目标Action方法的执行,并且将该表 ...

  7. java 反射无参方法_java 反射 调用无参数方法?

    通过Java反射调用无参数方法,这是个测试用的例子,通过反射调用对象的方法,代码如下: import java.lang.reflect.Method; import java.lang.reflec ...

  8. java hook 和反射_Java反射与hook混用反射某支付的方法

    反射某支付软件apk的方法 思路: 1.可以先取得某支付软件的classLoader,可以通过hook某支付软件的必须方法(如:LauncherActivity的attachBaseContext方法 ...

  9. python之面向对象反射和双下方法

    面向对象之反射,双下方法 反射 定义:主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中一切皆对象(都 ...

最新文章

  1. 学软件测试的优势有哪些
  2. CF850F Rainbow Balls(数学、期望)
  3. BigDecimal丢失精度的坑
  4. r语言 中断r的输入_R语言_004数据输入
  5. 详解getchar()函数与缓冲区
  6. 交叉编译ncurses5.6
  7. 源于零售业,如何赋能零售业?亚马逊云科技再发布四项新服务
  8. 如何在SQL Server中导入具有不同列数的平面文件
  9. phpcms 指定id范围 调用_Dubbogo 源码笔记(二)客户端调用过程
  10. 【Flutter】flutter doctor 报错Android license status unknown. Run `flutter doctor --android-licenses‘
  11. 124 并发编程小结
  12. 学习笔记——Servlet原理
  13. IT 软件测试 ——轻松月入过20K 测试工程师年薪35W
  14. 中国计算机软件专业技术资格和水平考试各地咨询地址和报名时间
  15. Multipath TCP(MPTCP) Congestion Control抛砖引玉
  16. xiaoxin juju needs help
  17. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法
  18. Cass10.1独立地物简码识别功能
  19. macbook的 safari浏览器退出后又自动启动,强制退出以后也重启,重启电脑也重启
  20. Linux性能优化:CPU篇

热门文章

  1. Python数据分析复习整理(综合应用)
  2. ES6 Series-01
  3. 区分: for example, such as, like
  4. 《开局一条狗》技术支持网址
  5. 怎么整理文档和保存源代码
  6. Pixel 4 AOSP源码编译及刷机
  7. 数据库范式——通俗易懂【转】
  8. 全球软件案例研究峰会,今日13:30线上开幕,ShowMeBug B站联合直播,赶紧扫码关注占坑位吧
  9. 光伏阵列故障诊断笔记
  10. 第二章 80x86微处理器简介