下载此文档

java反射机制.pdf


文档分类:IT计算机 | 页数:约49页 举报非法文档有奖
1/49
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/49 下载此文档
文档列表 文档介绍
反射
窦刚
dg828@
第1节 Reflection API简介
在Java运行时环境中,对于任意一个类,能否知道这个类
有哪些属性和方法?对于任意一个对象,能否动态调用它的
任意一个方法?答案是肯定的。这种动态获取类的信息,以
及动态调用对象的方法的功能来自于反射(Reflection)
机制。
反射就是把Java类中的各种成分映射成一个个的java对象。
例如,一个类有:成员变量,方法,构造方法等信息,利用
反射技术可以对一个类进行解剖,把各个组成部分映射成一
个个对象。
第1节 Reflection API简介

◆ Class类:描述类信息的类。
◆ Field类:代表类的成员变量。用来描述属性的信息。
◆ Method类:代表类的方法。方法信息的描述。
◆ Constructor类:代表类的构造方法。描述构造方法信息。
第1节 Reflection API简介
掌握反射技术的要点在于:
�如何从一个class中反射出各个组成部分。
�反射出来的对象怎么用。
第2节 Class类

每个类都有一个相应的Class对象。该对象存储于编译后
class文件中。
Class对象。
public class Test {
public static void main(String args[]) {
Integer num = 10;
String str = "ABC";
Class<?> c1 = ();
Class<?> c2 = ();
("The class of " + num + " is "
+ ());
("The class of " + str + " is "
+ ());
}
}
class Person {
private String name;
private int age;
Person(String name, int age) {
this .name = name;
this .age = age;
}
public void setName(String name) {
this .name = name;
}
public void setAge( int age) {
this .age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
public class Test {
public static void main(String args[]) {
Person p = new Person("张三", 20);
System. ( "The class of p is " +
().getName());
}
}
第2节 Class类
获得类对象的各种方式:
�对象名. getClass()

� (全限定类名)
�以上三种方式,JVM都会把相应class文件装载到一个
class对象中(只装载一次)。
�注意:只要是在源程序中出现的类型,都有各自的Class实
例对象,例如int、void。
import ;
public class Test {
public static void main(String args[]) throws Exception {
Date d = new Date();
Class<?> c1 = ;
Class<?> c2 = ("");
Class<?> c3 = ();
(());
(());
(

java反射机制 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数49
  • 收藏数0 收藏
  • 顶次数0
  • 上传人wzt520728
  • 文件大小0 KB
  • 时间2015-09-08