利用java反射机制,通过一个对象获得完整的包名和类名
1、Test t = new Test().Class clazz = t.getClass().System.out.println(clazz.getCanonicalName()).System.out.println(clazz.getSimpleName()).
2、public class TestReflect {public static void main(String[] args) throws Exception {TestReflect testReflect = new TestReflect().System.out.println(testReflect.getClass().getName()).// 结果 net.xsoftlab.baike.TestReflect.}}
3、Java程序
Java如何得到类名
用反射.
比如说现在有一个Test类的引用t.
Class c=t.getClass();
类名为c.getName();
结果中包括包的名.如果不想要包的名,自己处理下
Class类在java.lang包
java通过反射获取类的字段名称
简单的方法如下: Class? cls=Class.forName(className);////////////////////////通过类的名称反射类 Object obj=cls.newInstance();//////////////////////对象实例化 Field field=cls.getField(fieldName);/////这个对应的是属性 fieldValue=field.get(obj);////这个就是属性的值
java反射获取方法不定参数的名称和类型
private static boolean validParams(Object… objects) {
for (Object obj : objects) {
Class clz = obj.getClass();
System.out.println(clz);
}
return false;
}
java如何通过反射获取包中所有的类?
先通过IO,定位到这个包
通过File.list得到一个包含这个包下所有class的文件的数组。
循环这个数组,用包名拼接每一个遍历出来的文件的名字,得到每一个完整的类名(即,包名加类名)
通过class.forname反射得到每一个类实例