A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sxsxsx 中级黑马   /  2015-5-17 17:13  /  568 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧!

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

             反射是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. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马