import java.lang.reflect.*; class ReflectionTest { public static void main(String args[]) throws Exception { Class a = Class.forName("B");//1.获取B的原对象(要记得这方法) // Class f = B.class; //2.获取B的原对象 System.out.println(a); Method[] method = a.getDeclaredMethods();//获取B的所有方法 for(int i = 0;i<method.length;i++) { System.out.println(method[i]); } System.out.println(); Field[] file = a.getDeclaredFields();//获取B的所有属性 for(int i = 0;i<file.length;i++) { System.out.println(file[i]); } System.out.println(); for(int i=0;i<file.length;i++) //获取B的所有变量及访问控制符 { Field temp = file[i]; String name = temp.getName(); System.out.println(name); Class type = temp.getType(); System.out.println(type); int mo = temp.getModifiers(); String mod = Modifier.toString(mo); System.out.println(mod); if(i==4) { Object o = file[i].get(new B()); System.out.println(o); } if(i==0) { B b = new B(); file[i].set(b,3); System.out.println(file[i].get(b)); } }
} } class B extends A { public int x; private double y; public static boolean boo; String str; public static final char c=65;
public int get(){return 3;} public void set(String name,int age){} public static void sleep(){} public B(){} public B(int k){} } class A { public int get(){return 4;} }
下面有块代码虽然有点乱 但可能对你有帮助
再看一下这个
insiku(tmd 结帖啊!!!) 你就没有看错的时候是不???我没说你纠正错了 我是说你说话的态度 怎么?别人不小心看错了你就可以那么说话?我炫耀?要你那么说凡是回帖解答的人都是在炫耀 拜托你不要以小人之心度君子之腹 看看你名字后面的那几个字 素质怎么样还用我说?==========================================================没素质的狗又在乱叫了
你还真君子了 对待敌人要向秋风扫扫落叶般 别人不结帖子 本来就很不道德 你高素质 还开心的不的了 这就叫素质? 典型的犯贱 强盗抢你的衣服 你把裤子也脱了说:拿去 一起给你
犯贱 典型的中国式犯贱 自诩为高素质 其实只不过假惺惺的贱骨头我就想不通了 这讲错了 反而有理了 这世界无奇不有啊 就像现在借钱的要求着欠钱的说 爷 今天还点吧
明显的强词夺理 转移话题看错 最鄙视的就是不看仔细就自以为是的胡说八道此次争论到此为止 在别人帖子里吵架这种行为 想不到你这种高素质的人也会做 素质真tmd高 实在是高啊
class ReflectionTest
{
public static void main(String args[]) throws Exception
{
Class a = Class.forName("B");//1.获取B的原对象(要记得这方法)
// Class f = B.class; //2.获取B的原对象
System.out.println(a);
Method[] method = a.getDeclaredMethods();//获取B的所有方法
for(int i = 0;i<method.length;i++)
{
System.out.println(method[i]);
}
System.out.println();
Field[] file = a.getDeclaredFields();//获取B的所有属性
for(int i = 0;i<file.length;i++)
{
System.out.println(file[i]);
}
System.out.println();
for(int i=0;i<file.length;i++) //获取B的所有变量及访问控制符
{
Field temp = file[i];
String name = temp.getName();
System.out.println(name);
Class type = temp.getType();
System.out.println(type);
int mo = temp.getModifiers();
String mod = Modifier.toString(mo);
System.out.println(mod);
if(i==4)
{
Object o = file[i].get(new B());
System.out.println(o);
}
if(i==0)
{
B b = new B();
file[i].set(b,3);
System.out.println(file[i].get(b));
}
}
}
}
class B extends A
{
public int x;
private double y;
public static boolean boo;
String str;
public static final char c=65;
public int get(){return 3;}
public void set(String name,int age){}
public static void sleep(){} public B(){}
public B(int k){}
}
class A
{
public int get(){return 4;}
}
你这种强词夺理就像 杀人犯在法庭上说:是他先打我的,他不对,他不对
避重就轻 转移话题 以强调没素质来转移你 胡说八道 误人子弟 态度及其恶劣 歪理邪说一大堆 你莫非是"李 洪 志"的关门弟子
你们老师没教你做人啊?
真替你妈难过 生猪都比生你好
也替你爸难过 还不如射到墙上
这是技术论坛!
而且反射也是通过名称得到内容,不知道怎么利用内容反得到名称。