• 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之类的奇怪的东西,这是由于上述代码会抛出大量的异常。我们通常不推荐这样写。不用担心,我们将在错误处理一章为你详细介绍他们的原理和用法。

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

  • 相关阅读:
    Shuffle Cards
    求和VII
    Finite Encyclopedia of Integer Sequences(找规律)
    Codeforces Round #223 (Div. 2) C
    Codeforces Round #223 (Div. 2) A
    题目1047:素数判定
    Codeforces Round #219 (Div. 1) C. Watching Fireworks is Fun
    Codeforces Round #219 (Div. 2) B. Making Sequences is Fun
    中南大学第一届长沙地区程序设计邀请赛 New Sorting Algorithm
    中南大学第一届长沙地区程序设计邀请赛 To Add Which?
  • 原文地址:https://www.cnblogs.com/lantian729308328/p/5971518.html
Copyright © 2020-2023  润新知