首页 > 代码库 > 反射基础学习
反射基础学习
笨笨 以爱之名,只为遇见你! 阿正
package Fanshe; import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Demo { public static void main(String[] args) throws Exception { Class clazz = Test.class; Object obj = test(clazz); // System.out.println(obj); invoke1(obj, "chaoba"); field(clazz); // annon(clazz); } public static Object test(Class clazz) throws Exception { Constructor con = clazz.getConstructor(String.class); Object obj = con.newInstance("超霸"); return obj; } public static void invoke1(Object obj, String fangfaming) throws Exception { Method[] ms = obj.getClass().getDeclaredMethods();// 获取本类方法。包括私有方法,不包含夫类方法 ms = obj.getClass().getMethods();// 获取继承的夫类方法。私有方法不显示。 显示公用方法 /* * for (Method method : ms) { if(fangfaming.equals(method.getName())) { * method.invoke(obj, null); * * } //System.out.println(method); } */ Method m = obj.getClass().getMethod(fangfaming, null); // 获取指定方法 m.invoke(obj, null); } public static void field(Class clazz) { Field[] fs = clazz.getDeclaredFields(); // fs=clazz.getFields(); for (Field field : fs) { System.out.println(field.getName()); } } }
反射基础学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。