Java反射之Method调用和Filed设置
反射是java的一个高级特性。
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、实现之interfaces(例如Serializable),也包括fields和methods 的所有信息,并可于运行时改变fields内容或调用methods。
反射就是给应用程序一个可以检查自己和运行环境的一个路径。自己信息的替代—MetaData.
入门级别先看看如果通过反射调用方法和设置成员变量的值:
1.通过反射设置变量值
import java.lang.reflect.Field;
/**
* 反射修改Field
*
* @author yblin
*/
public class RefField {
public String color;
public Double number;
public static void main(String args[]) {
try {
Class c = RefField.class;
Field colorField;
colorField = c.getField("color");
Field numberField = c.getField("number");
RefField obj = new RefField();
colorField.set(obj, "blue");
System.out.println("color=" + colorField.get(obj));
numberField.set(obj, 2.1);
System.out.println("number=" + numberField.get(obj));
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2.调用反射调用方法
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* 反射方法调用。
*
* @author yblin
*/
public class RefMethod {
private String color;
public void printColor() {
相关文档:
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:
ThisIsAClassName
thisIsMethodOrFieldName
若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译 ......
Java.sql包中的 java.sql.Driver, jdbc.sql.Connection等提供给程序开发人员统一的开发接口,数据库提供商提供相应的实现,对程序开发人员来讲只要知道这些接口都有哪些方法就可以了。但我们可以深入一些看看到底这里面都做了那些事, 同时也可以学习其中的编程模式(如Interface模式等)。
1、 Class.forName(String cl ......
Spring Framework 【Java开源 J2EE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用 ......
一:理解多线程
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。
线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。
......