有时候需要知道比Class类所提供的信息多得多的有关一个类型的信息。出于这种目的,可以使用程序包java.lang.reflect中的类,换句话说就是所说的反射API。这个类集提高了Class类的能力和有效性。

反射API支持一种名为自省的行为,这种行为实际上使一个类描述自身。

反射API使对象具有反射自己和发现自身内容的能力。程序包java.lang.reflect定义了很多类,这些类总体上对一个对象作了完整的描述。

下面给出了这3种类表示类的构建块:
(1)Constructor类的每个实例都提供了关于一个类的一个构造函数的信息,并且为调用程序提供了使用这个构造函数以创建一个对象的方式。
(2)Method类的每个实例都提供了关于一个类的一种方法的信息,并且为调用程序提供了调用这种方法的方式。这种方法可能是类的方法或者实例的方法,而且可能是抽象的。
(3)Field类的每个实例都提供了关于一个类的一个域的信息,并且为调用程序提供了获得和设置这个域的值的方法。这个域可以是类变量或者实例变量。

下面用一个例子帮助大家了解:

  
  1细说反射APIimport java.lang.reflect.*;
  2细说反射API
  3细说反射APIpublic class ReflectionDemo
  4


结果如下:
Methods defined in class TestClass
public void TestClass.test1(int,java.lang.String)
public int TestClass.test2(int[])
public java.lang.String TestClass.test3()

test1
1 = 2 and str = "this is test"
Returned value: null
test2
Result value: 15
test3
Returned value: "No input parameter"

相关文章:

  • 2021-09-05
  • 2021-10-24
  • 2021-10-30
  • 2021-08-13
  • 2021-08-15
  • 2022-12-23
猜你喜欢
  • 2021-12-29
  • 2021-10-30
  • 2021-07-03
  • 2021-06-26
  • 2022-12-23
  • 2021-08-04
相关资源
相似解决方案