菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
361
0

JAVA_Reflection

原创
05/13 14:22
阅读数 91745
package com.qf.reflection;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class TestReflection {
    public static void main(String[] args) {
        // Class
        // 获得一个类的Class对象 有三种方式
        try {
            Class clazz1 = Class.forName("java.lang.String");
            // 第二种
            Class clazz2 = String.class;
            // 第三种
            String string = new String();
            Class clazz3 = string.getClass();

            // 得到String类的所有属性
            System.out.println("String类的所有属性");

            Field[] fields = clazz1.getDeclaredFields();
            for (Field field : fields) {
                System.out.println(field);
            }
            System.out.println("String类的所有方法");

            Method methods[] = clazz1.getDeclaredMethods();// 忽略修饰符 得到所有方法
            // clazz1.getMethods(); 只能得到有访问权限的所有方法
            for (Method method : methods) {
                System.out.println(method);
            }

            System.out.println("String类的所有构造方法");
            Constructor constructors[] = clazz1.getDeclaredConstructors();
            for (Constructor constructor : constructors) {
                System.out.println(constructor);
            }

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

 

发表评论

0/200
361 点赞
0 评论
收藏