博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反射技术
阅读量:3966 次
发布时间:2019-05-24

本文共 1020 字,大约阅读时间需要 3 分钟。

二、反射技术

很重要的技术,现代的java应用编程都是基于各种框架来实现的,框架就是半成品软件,因为框架都符合某种设计标准,基于框架所搭建的应用程序就是符合标准的应用程序。
几乎所有的框架底层都使用了反射技术,框架的功能实现大多都是依靠配置文件来指定的,配置文件中规定了要使用哪些类,这些类都是通过类名来指定而不是在程序中写死的,通过类名来加载类是反射的基础。
1、什么是反射
是java类的一种自省机制,可以通过类的字节码对象(Class的对象),得到类的所有成员所对应的对象,然后再通过这些对象来使用类。

2、反射技术中常用的类的成员所对象的类型

在java.lang.reflect 中包含
Method 类,表示类中的方法
Field类,表示 类中的属性
Constructor类,表示类的构造方法.
3、如何通过类名来加载类

//通过Messge类的类名来加载该类Class
clazz = Class.forName("com.wang.Message");Method getSenderMethod = clazz.getDeclaredMethod("getSender",null);Method setSenderMethod = clazz.getDeclaredMethod("setSender", String.class);// 通过字节码对象来创建对象Message message = (Message) clazz.newInstance();setSenderMethod.invoke(message, "abcdef");System.out.println(getSenderMethod.invoke(message,null));//对属性的操作Field nameField = clazz.getDeclaredField("name");System.out.println(nameField.get(message));//使用构造方法Constructor
cons = clazz.getDeclaredConstructor(String.class, String.class);Message message1 = (Message) cons.newInstance("武松", "打死你");System.out.println(message1);

转载地址:http://ozzki.baihongyu.com/

你可能感兴趣的文章
Android网络框架Volley(实战篇)
查看>>
Android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
查看>>
Android 5.0学习之感想篇(含Demo)
查看>>
ViewPagerindicator 源码解析
查看>>
HoloGraphLibrary 源码解析
查看>>
CircularFloatingActionMenu 源码解析
查看>>
PhotoView 源码解析
查看>>
Android Lock Pattern 源码解析
查看>>
Java 动态代理
查看>>
Java 注解 Annotation
查看>>
View 绘制流程
查看>>
依赖注入
查看>>
View 事件传递
查看>>
android 各式各样progress 进度条大全
查看>>
Android事件分发机制完全解析,带你从源码的角度彻底理解
查看>>
开发Google眼镜的app
查看>>
Android base-adapter-helper 源码分析与扩展
查看>>
Android 快速开发系列 打造万能的ListView GridView 适配器
查看>>
Android 4.4从图库选择图片,获取图片路径并裁剪
查看>>
Android Fragment 你应该知道的一切
查看>>