关于UI模块的解耦,说简单点,首先需要配置菜单与对应操作类的映射关系(或存放于配置文件,或继承接口直接写死在模块代码中,或存放到数据库,原理都一样),然后在菜单加载时,读取配置项动态生成菜单或是其他控件列表,同时为对应菜单项添加点击之类的事件,最后在事件中利用反射生成模块的实例(与界面相关的还需.....
反射就是加载类的class文件,并解析里面的数据。利用反射技术可以对一个类进行解剖,把各个组成部分映射成一个个对象。
1、Class类
Class: 根据所有类的class文件所抽象出的类型如何得到某个class文件对应的class对象。
Class.forName(“类名”) 用全类名。
1.1Class类的常用方法
Field getField(String name) 根据...
分类:
编程语言 时间:
2014-11-08 18:19:51
阅读次数:
195
在序列化的问题域里面有一个常见的问题,就是反序列化时用何种方式来创建Java对象,因为反序列化的目的是把一段二进制流转化成一个对象。
在Java里面创建对象有几种方式:
1. 显式地调用new语句, 比如 DemoClass demo = new DemoClass()
2. 利用反射机制,通过Class对象的newInstance()方法,比如DemoClass demo = DemoCl...
分类:
编程语言 时间:
2014-11-05 14:57:32
阅读次数:
296
反射的具体应用,自动绑值获取属性列表 1 - (NSArray*)propertyKeys 2 { 3 unsigned int outCount, i; 4 objc_property_t *properties = class_copyPropertyList([self cla...
分类:
移动开发 时间:
2014-10-31 18:42:27
阅读次数:
335
/*利用反射+多态替换条件语句*/ class Program { public static void Main(string[] args) { /* * 用户发送一个命令,让代码去指定Commander ...
分类:
其他好文 时间:
2014-10-30 00:03:24
阅读次数:
199
/// /// 利用反射和泛型 /// /// /// public static List ConvertToList(DataTable dt) { // 定...
首先看两个例子,通过subString方法获得字符串t,再通过t.charAt(3)方法获得字符串t的值中的第四个字符。[其中会利用反射机制,改变字符串s的值。](http://my.oschina.net/u/167082/blog/337066) 例子1: public c...
分类:
其他好文 时间:
2014-10-24 20:54:23
阅读次数:
252
利用反射可以获得类的变量名,给你个例子 public class MyTools { public static void setAllComponentsName(Object f) { // 获取f对象对应类中的所有属性域 Field[] fields = f....
分类:
编程语言 时间:
2014-10-22 12:37:24
阅读次数:
227
利用反射 构造get set 方法: 1 package com.wages.salary.service.common; 2 3 import java.lang.reflect.InvocationTargetException; 4 import java.lang.reflect.Meth....
分类:
编程语言 时间:
2014-10-21 15:05:34
阅读次数:
244
1.StackLayout? 下面的demo主要是利用反射获取layoutOption所有值,然后为每一个值建一个Label,达到展示LayoutOption的目的,效果图从书上截的,其中StackLayout 是一个布局容器 class?VerticalOptionsDemoPa...
分类:
其他好文 时间:
2014-10-21 02:31:54
阅读次数:
312