黑马程序员技术交流社区

标题: 利用反射获取类的属性 [打印本页]

作者: sxsxsx    时间: 2015-5-17 17:13
标题: 利用反射获取类的属性
   反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧!

   主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。

             反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以再运行时装配,无需在组件之间进行源代码链接。但是反射使用不当会成本很高!写了一个反射获取String类属性的例子:

  1. package com.itheima;

  2. import java.lang.reflect.Field;
  3. import java.lang.reflect.Modifier;

  4. public class Reflect {
  5.         public static void main(String[] args) {
  6.                 try {
  7.                         Class c=Class.forName("java.lang.String");
  8.                 Field[] fields = c.getDeclaredFields();
  9.                 for(Field field:fields){
  10.                         System.out.println(Modifier.toString(        field.getModifiers())+"    "+field.getType().getSimpleName()+"   "+field.getName());
  11.                 }
  12.        
  13.                 } catch (Exception e) {
  14.                         // TODO Auto-generated catch block
  15.                         e.printStackTrace();
  16.                 }
  17.         }
  18. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2