zoukankan      html  css  js  c++  java
  • 关于反射

    反射的方法比较多,不过都遵循以下规律:

    Method表示方法,Field表示成员变量,Constructor表示构造方法;后面加s表示一次获取多个。
    因为java中允许有多个同名的方法(普通方法和构造方法),只要其传入参数的类型(包括)不同即可,所以在获取单个方法的时候,不光要指定方法的名称,还要指定参数的类型。

    因为类中的成员如果public修饰符,外部不能直接访问,所以有Declared的方法是可以获取到public和非public的成员的。如果没有Declared则表明获取public的。详情如下:

    一、getFields()与getDeclaredFields()

    getFields()只能访问类中声明为公有的字段,私有的字段它无法访问

    getDeclaredFields()能访问类中所有的字段,与public,private,protect无关

    二、getMethods()与getDeclaredMethods()

    getMethods()只能访问类中声明为公有的方法,私有的方法它无法访问,能访问从其它类继承来的公有方法

    getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它类继承来的方法

    三、getConstructors()与getDeclaredConstructors()

    getConstructors()只能访问类中声明为public的构造函数

    getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关

    更详细关于反射的资料参照:http://www.cnblogs.com/qinbin/archive/2013/01/03/java-reflect.html

  • 相关阅读:
    线段树----hdoj 1754 I here it
    树状数组----poj 2352 stars
    莫队算法
    枚举+深搜----poj 3279 Fliptile
    java 10 -09的作业
    java 09 06 thread-同步代码块-同步方法
    java09-05 join_daemon
    java09 02 Thread-yield 放弃
    java 07 jar
    java 08 作业
  • 原文地址:https://www.cnblogs.com/yejg1212/p/2844678.html
Copyright © 2011-2022 走看看