Java Reflection 浅析1
Reflection 的简单应用,包括field, method,constructor的应用。
package com.gaoqian.reflection;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
abstract class BaseClass1 {
private int bi;
protected String bs;
public char bc;
public BaseClass1(int bin, String bstr, char bch) {
this.bi = bin;
this.bs = bstr;
this.bc = bch;
}
public int getIntValue() {
return bi;
}
public void setIntValue(int in) {
this.bi = in;
}
public abstract String out();
}
class DerivedClass2 extends BaseClass1 {
private int ddi;
protected String dds;
public char ddc;
public DerivedClass2(int ddin, String ddstr, char ddch) {
super(ddin + 100, ddstr + "BaseClass", ddch);
this.ddi = ddin;
this.dds = ddstr;
this.ddc = ddch;
}
public String getStringValue() {
return dds;
}
public void setStringValue(String str) {
this.dds = str;
}
@Override
public String out() {
return "The content of BaseClass is " + super.getIntValue() + super.bc
+ super.bs + "\n" + "The content of DerivedClass is "
+ this.ddi + this.dds + this.ddc;
}
}
public class TestingReflection {
public static void main(String[] args) {
// System.out.println("***showFieldsInfo()***");
// showFieldsInfo();
// System.out.println("***operateFieldValue()***");
// operateFieldValue();
// System.out.println("***showMethodInfo()***");
// showMethodInfo();
// System.out.println("***invokeMethod()***");
// invokeMethod();
// &
相关文档:
给数组赋值的便捷方式: String s=reader.nextLine(); char a[]=s.toCharArray();这样就不用使用麻烦的for循环来赋值了
输出数组内容的便捷方式:String code=new String(a); //a是一个数组名
System.out.println("原文是"+code);
&nb ......
Thread.currentThread().getName().equals("xxxx") 这条语句返回一个 bool 型的结果。判断当前运行的进程是否和 xxxx 的名字一样。
定义线程的两种方法:class a1 extends Thread{ } a1 xiancheng=new a1();
二是:用接口回调技术。 class a1 implements Runnable{ } a1 ......
Java传递参数有两种 :值传递,引用传递
一般引用类型 是引用传递,值类型是值传递
值类型是原始数据类型 包括 int,byte,char short long,boolean,float,double
引用类型就是一般的class类 当然也包括原始数据的封装类型 比如int的
封装类型为Integer
一般情况下:
值传递:
例子 1 public void show1(int str ......
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
try {
Class cls = com.lwf.util.CommonUtil.class;
Object obj = cls.newInstance();
Method addMethod = cls.ge ......