首页 > 代码库 > JAVA反射机制

JAVA反射机制

      JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

     请在在Eclipse中创建一个项目DynamicClass,并在该项目中创建com.shiyanlou.course包。在该包中创建Test类,并编写main()方法。

main()方法中创建一个File对象(你只需要知道File对象也是一个对象即可,进一步了解File对象)。

最后,使用该对象在桌面创建一个文本文件。

主要的代码如下:

 1 package com.shiyanlou.course;
 2 
 3 import java.io.File;
 4 import java.lang.reflect.Constructor;
 5 //需要引用上述两个包
 6 
 7 public class Test {
 8 
 9         public static void main(String[] args) {
10             try {
11 
12                 Constructor<File> constructor = File.class.getDeclaredConstructor(String.class);
13                 //获得File类的Constructor对象
14 
15                 System.out.println("Create File Object with reflection."); 
16                 //使用反射创建File对象
17                 File file = constructor.newInstance("/home/shiyanlou/Desktop/MyFile.txt");
18                 System.out.println("Use File Object to create MyFile.txt on desktop.");
19                 //指定了创建的路径为桌面,名称为“MyFile.txt”
20 
21                 file.createNewFile(); //创建新的文件
22                 System.out.println("File is created ?" + file.exists());
23                 //验证文件是否创建成功
24 
25             } catch (Exception e) {
26                 e.printStackTrace();
27             }
28         }
29 }

      你可能会问为什么会用到trycatch以及Exception之类的奇怪的东西,这是由于上述代码会抛出大量的异常。我们通常不推荐这样写。不用担心,我们将在错误处理一章为你详细介绍他们的原理和用法。

点击编译并运行,如果在控制台可以看到下列信息则表示你成功了。

技术分享

 

JAVA反射机制