zoukankan      html  css  js  c++  java
  • 反射基础学习

     

    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());
            }
        }
    
    }
    一万年太久,只争朝夕!
  • 相关阅读:
    【LeetCode 15】三数之和
    【LeetCode 14】最长公共前缀
    【LeetCode 13】罗马数字转整数
    【LeetCode 12】整数转罗马数字
    【LeetCode 11】盛最多水的容器
    【LeetCode 10】正则表达式匹配
    【LeetCode 9】回文数
    【LeetCode 8】字符串转换整数 (atoi)
    【LeetCode 7】整数反转
    【LeetCode 6】Z 字形变换
  • 原文地址:https://www.cnblogs.com/chaoba/p/6895537.html
Copyright © 2011-2022 走看看