获取运行时类的属性结构

简介: 获取运行时类的属性结构

获取运行时类的属性结构

总结于尚硅谷学习视频

视频链接

https://www.bilibili.com/video/BV1Kb411W75N?p=650

所用Person类

package com.day0324_2;
import com.day0324_1.Person;
import org.junit.jupiter.api.Test;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
/**
 * 获取运行时类的属性结构
 *
 */
public class FieldTest {
    @Test
    public void test1(){
        Class clazz= Person.class;
        //获取属性结构
        //getFields():获取当前运行时类及其父类中声明为public访问权限得属性
        Field[] fields = clazz.getFields();
        for (Field f :
                fields) {
            System.out.println(f);
        }
        System.out.println();
        //getDeclaredFields():获取当前运行时类中声明的所有属性。(不包含父类中声明的属性)
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field f :
                declaredFields) {
            System.out.println(f);
        }
    }
    //权限修饰符  数据类型  变量名  
    @Test
    public void test2(){
        Class clazz= Person.class;
        Field[] declaredFields = clazz.getDeclaredFields();
        for (Field f :
                declaredFields) {
            //1权限修饰符 
            int modifiers = f.getModifiers();
            System.out.print(Modifier.toString(modifiers)+"\t");
            //2数据类型
            Class type=f.getType();
            System.out.print(type.getName() +"\t");
            //3变量名
            String fName = f.getName();
            System.out.println(fName);
        }
    }
}
相关文章
|
7月前
|
Java
【专栏】Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性
【4月更文挑战第27天】本文探讨了Java反射机制,该机制允许程序在运行时获取类信息、动态创建对象、调用方法和访问属性。反射通过Class、Constructor、Method和Field类实现。文中列举了反射的应用场景,如动态创建对象、调用方法、访问属性和处理注解,并提供了相关实例代码演示。
80 4
|
7月前
|
编译器 数据安全/隐私保护 C++
【类与对象】封装&对象的初始化及清理
【类与对象】封装&对象的初始化及清理
获取运行时类的方法结构
获取运行时类的方法结构
41 0
调用运行时类中指定的结构
调用运行时类中指定的结构
31 0
通过反射创建对应的运行时类的对象
通过反射创建对应的运行时类的对象
34 0
|
监控 Java 容器
字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》
在上一篇 「Helloworld」 中,我们初步尝试使用了 Javassist字节编程的方式,来创建我们的方法体并通过反射调用运行了结果。大致了解到创建在使用字节码编程的时候基本离不开三个核心类;ClassPool、CtClass、CtMethod,它们分别管理着对象容器、类和方法。但是我们还少用一样就是字段;CtFields,在这一章节中我们不止会使用字段,还会创建多个不同入参类型和返回值的学习。
393 0
字节码编程,Javassist篇二《定义属性以及创建方法时多种入参和出参类型的使用》
|
存储 算法 Java
10-对象的实例化内存布局与访问定位
10-对象的实例化内存布局与访问定位
102 0
10-对象的实例化内存布局与访问定位
|
Java 索引
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
136 0
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(二)
|
Java 数据挖掘 索引
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)
160 0
【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )(一)
|
安全 Java
反射机制之创建运行时类的对象
反射机制之创建运行时类的对象
反射机制之创建运行时类的对象