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年首次提出的,主要是指程 ...
 
随机推荐
- hadoop 设置回收站
			
我的问题是:hadoop回收站为什么会保留多个过期时间的数据 我们知道hadoop的回收站是在我们删除数据后能恢复的目录,但是我们并不希望在回收站保存太久的数据,我们可以使用如下参数进行配置. ...
 - windows Jenkins git 配置
			
待更新 插件下载地址:http://updates.jenkins-ci.org/download/plugins/ 参考地址:https://blog.csdn.net/zzy1078689276/ ...
 - Android & iOS 启动画面工具
			
感谢Aone!为我们开发了如此便捷的工具!! 以下为原文: Android & iOS 启动画面工具 下载:OneSplash.启动画面工具.Aone.20190318.zip 说明:这一个 ...
 - 导入maven项目导入依赖不会报错,但使用的jar会标红
			
方法1: 1.通过编译找到报错的jar; 2.在 repository找到此jar,一般未下载完大小为1k我的是这样(); 3.删除未下载完全的jar,在项目上执行maven reimport会重新下 ...
 - lua经典问题
			
lua是一门比较简单的脚本语言,但是有些问题经常碰到,在这里总结一下: 1 lua 传参,如果参数是table,则相当于传引用 2 lua中只有nil和false返回假 3 lua and 和 or ...
 - Restful架构学习
			
Restful规范的架构是一种简洁并且面向资源的规范方式,其概念和起源大家google一下就好. 以下记录认识和搭建Restful规范的技术架构过程(入门级别),在网上发现了一张技术架构图很接近最初想 ...
 - PythonStudy——字符串常用操作  String common operations
			
# 1.字符串的索引取值: 字符串[index]# 正向取值从0编号,反向取值从-1编号 s1 = '123abc呵呵' t_s = ' # 取出c print(s1[5], s1[-3]) # 2. ...
 - What’s New In GRANDstack?
			
转自:https://blog.grandstack.io/whats-new-in-grandstack-310c067fea4a There’s been a lot of activity in ...
 - 好久没考虑过的 sql 注入
			
很多年没考虑 sql 注入了,毕业以后 使用mybatis #{ 参数的 语法 },这个 语法已经 做了防止 sql 注入的处理 . 看到同事写的 ${ 参数 },突然 想到这个问题 . 下面聊聊 s ...
 - easyui-datebox 点击事件
			
<div class="form-group col-xs-5 col-md-5 col-lg-6" style = "margin-left: 0px;" ...