• 18.3.2从Class上获取信息(属性)


    package d18_3_1;
    
    import java.lang.reflect.Field;
    import java.util.Arrays;
    
    /**
     * 获取Class对应类所包含的属性的四个方法
     * 
     * 运行结果
     * [private java.lang.String d18_3_1.Test4.name, protected int d18_3_1.Test4.age, java.lang.String d18_3_1.Test4.sex, public java.lang.String d18_3_1.Test4.email, public int d18_3_1.Test4.tel]
     * private java.lang.String d18_3_1.Test4.name
     * [public java.lang.String d18_3_1.Test4.email, public int d18_3_1.Test4.tel]
     * public java.lang.String d18_3_1.Test4.email
     */
    public class ClassInfo3 {
    
    	public static void main(String[] args) throws NoSuchFieldException, SecurityException {
    		Class c = Test4.class;
    		// 1、获取所有的属性,不论是否私有
    		Field[] fs1 = c.getDeclaredFields();
    		System.out.println(Arrays.toString(fs1));
    		// 2、获取所有的属性中,指定的属性       (属性名)
    		Field f1=c.getDeclaredField("name"); //区分大小写
    		System.out.println(f1); 
    		// 3、获取所有public属性 
    		Field[] fs2 = c.getFields();
    		System.out.println(Arrays.toString(fs2));
    		// 4、获取所有的public属性中,指定的属性       (属性名)
    		//若指定的属性不存在时,会报Source not found.必须是public方法.
    		Field f2=c.getField("email"); 
    		System.out.println(f2); 
    	}
    }
    
    class Test4 {
    	private String name;
    	protected int age;
    	String sex;
    	public String email;
    	public int tel;
    
    }
    

      

  • 相关阅读:
    eclipse下配置Spring环境
    筑梦路上的孤独行者
    Js继承各模式总结
    水题-poj1979
    C++静态数据成员存在的意义
    Mac_Sublime_JavaScript
    LeetCode204——count primes
    (吐槽)讨厌的VIP机制
    LeetCode55——Jump Game
    LeetCode62——Unique Paths
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/7357130.html
Copyright © 2020-2023  润新知