java的反射机制之getDeclaredMethods和getMethods的区别
getMethods()
返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。注意: 返回数组中的元素没有排序,也没有任何特定的顺序。
package staticMethodReflect;
import java.lang.reflect.Method;
class ForMethod{
//声明静态方法
public static void sayHello(String name){
System. out.println( "你好" +name +"!!!" );
}
public String generateNum( Integer max, Integer min){
return (Math.random()*( max- min)+ min)+ "";
}
}
public class method {
public static void main(String[] args){
//创建ForMethod类对象
ForMethod fm = new ForMethod();
//获取ForMethod类对象对用的Class对象
Class<?> fmc = fm.getClass();
//获取可以访问的对象的对应的Method数组
Method[] md = fmc.getMethods();
for(int i=0;i<md.length;i++){
System.out.println(md[i].getName());
}
}
}


每次运行的结果顺序都不太一样。
getDeclaredMethods()
返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。返回数组中的元素没有排序,也没有任何特定的顺序。
package staticMethodReflect;
import java.lang.reflect.Method;
class ForMethod{
//声明静态方法
public static void sayHello(String name){
System. out.println( "你好" +name +"!!!" );
}
public String generateNum( Integer max, Integer min){
return (Math.random()*( max- min)+ min)+ "";
}
}
public class method {
public static void main(String[] args){
//创建ForMethod类对象
ForMethod fm = new ForMethod();
//获取ForMethod类对象对用的Class对象
Class<?> fmc = fm.getClass();
//获取可以访问的对象的对应的Method数组
Method[] md = fmc.getDeclaredMethods();
for(int i=0;i<md.length;i++){
System.out.println(md[i].getName());
}
}

调用getDeclaredMethods只打印了本类的方法,没有打印从父类继承的方法。
本文转自: https://blog.csdn.net/hanxueyu666/article/details/71502143
java的反射机制之getDeclaredMethods和getMethods的区别的更多相关文章
- Java 类反射机制分析
Java 类反射机制分析 一.反射的概念及在Java中的类反射 反射主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.在计算机科学领域,反射是一类应用,它们能够自描述和自控制.这类应用通过某 ...
- java笔记--反射机制之基础总结与详解
一.反射之实例化Class类的5种方式: java的数据类型可以分为两类,即引用类型和原始类型(即基本数据类型). 对于每种类型的对象,java虚拟机会实例化不可变的java.lang.Class对象 ...
- java利器------反射机制
java反射的概念:java的反射机制是指在运行状态下,对于一个类来说,可以得到这个类的所有方法和属性.对于一个对象来说,可以调用这个对象的人和方法和属性. 反射机制首先会拿到该类的字节码文件(Cla ...
- 014 Java的反射机制
作者:nnngu GitHub:https://github.com/nnngu 博客园:http://www.cnblogs.com/nnngu 简书:https://www.jianshu.com ...
- java的反射机制(第三篇)
本文转载自:http://c.biancheng.net/cpp/html/1782.html Person p=new Person();这是什么?当然是实例化一个对象了.可是这种实例化对象的方法存 ...
- JAVA基础-反射机制
什么是JAVA的反射机制 Java反射是Java被视为动态(或准动态)语言的一个关键性质.这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其 ...
- java笔录---反射机制(1)
引言 为了方便记忆java的反射机制,在这里仔细的总结了一下.主要是怕以后忘记了,这样也方便回忆.因为最近利用空余时间深入的了解spring和Mybatis框架, 像spring中核心模块IO ...
- 【转】java原理—反射机制
一.什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力.这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言 ...
- java原理—反射机制
http://www.cnblogs.com/forlina/archive/2011/06/21/2085849.html 一.什么是反射:反射的概念是由Smith在1982年首次提出的,主要是指程 ...
随机推荐
- ios 审核未通过 相机相册权限问题
苹果提交审核被打回来 附加的说明如下: We noticed that your app requests the user’s consent to access their camera but ...
- HTML5:图片、音乐和视频
图片.音乐和视频 一.图片 1.属性 属性 说明 alt 规定图像的替代文本. src 规定显示图像的 URL align 规定如何根据周围的文本来排列图像. border 定义图像周围的边框. he ...
- Markup解析XML——文档,说明
链接:http://pan.baidu.com/s/1slMwEc9 密码:slz7 上面是网盘的地址,因为来源已经找不到了,在这里给这个作者说声谢谢. 轻量级的XML解析器使用比较简单,下载Mark ...
- Ubuntu 远程使用ssh 开启服务器终端的方法
首先,加载服务器环境变量$DISPLAY,需要先从服务器获取值 echo $DISPLAY 假如返回值为1001,本地通过sshpass启动终端,假设服务器用户名server,密码passwd, ip ...
- python基础--列表、元祖、字典、集合
列表(List) 1.列表特点 列表是可变的!! list 是一种有序的序列,可以添加.删除其中的元素,并且可以通过下标(索引)访问 数据 2.简单的常用操作 A.通过下表访问元素 print(lis ...
- junit断言和junit注释assert
JUnit - 使用断言 断言 所有的断言都包含在 Assert 类中 public class Assert extends java.lang.Object 这个类提供了很多有用的断言方法来编写测 ...
- alpha冲刺(6/10)
前言 队名:旅法师 作业链接 队长博客 燃尽图 会议 会议照片 会议内容 陈晓彬(组长) 今日进展: 召开会议 撰写博客 召集大家分析了一下后续的问题 问题困扰: 工程量太大,这周考试又很多,周末我让 ...
- .Net调用Java带验证的WebService解决方法
最近遇到了一个问题,需要通过验证用户名.密码去调用对方Java给出的WebService接口. 搜索了很多资料,没想到最终很简单就完了.... (捂脸 第一步:添加web引用 第二步:进行验证,并完成 ...
- 用我所学去讲C语言指针
文章更新,更加详细的介绍请看这篇:https://www.cnblogs.com/lulipro/p/7460206.html 很多人不敢讲C的指针,有些人讲不清,有些人怕讲错.初生牛犊不怕虎,就让我 ...
- String引用数据类型
一.String类的第一种方式 (原文地址:https://blog.csdn.net/wangdajiao/article/details/52087302)1.直接赋值 例:String str ...