反射Student类当中所有的Field
1 package com.bjpowernode.java.reflect; 2 3 import java.lang.reflect.Field; 4 import java.lang.reflect.Modifier; 5 6 /* 7 反射Student类当中所有的Field(了解一下) 8 */ 9 public class ReflectTest05 { 10 public static void main(String[] args) throws Exception{ 11 12 // 获取整个类 13 Class studentClass = Class.forName("com.bjpowernode.java.bean.Student"); 14 15 //com.bjpowernode.java.bean.Student 16 String className = studentClass.getName(); 17 System.out.println("完整类名:" + className); 18 19 String simpleName = studentClass.getSimpleName(); 20 System.out.println("简类名:" + simpleName); 21 22 // 获取类中所有的public修饰的Field 23 Field[] fields = studentClass.getFields(); 24 System.out.println(fields.length); // 测试数组中只有1个元素 25 // 取出这个Field 26 Field f = fields[0]; 27 // 取出这个Field它的名字 28 String fieldName = f.getName(); 29 System.out.println(fieldName); 30 31 // 获取所有的Field 32 Field[] fs = studentClass.getDeclaredFields(); 33 System.out.println(fs.length); // 4 34 35 System.out.println("=================================="); 36 // 遍历 37 for(Field field : fs){ 38 // 获取属性的修饰符列表 39 int i = field.getModifiers(); // 返回的修饰符是一个数字,每个数字是修饰符的代号!!! 40 System.out.println(i); 41 // 可以将这个“代号”数字转换成“字符串”吗? 42 String modifierString = Modifier.toString(i); 43 System.out.println(modifierString); 44 // 获取属性的类型 45 Class fieldType = field.getType(); 46 //String fName = fieldType.getName(); 47 String fName = fieldType.getSimpleName(); 48 System.out.println(fName); 49 // 获取属性的名字 50 System.out.println(field.getName()); 51 } 52 } 53 }
本文来自博客园,作者:guoyuxin3,转载请注明原文链接:https://www.cnblogs.com/guoyuxin3/p/15095525.html

浙公网安备 33010602011771号