zoukankan      html  css  js  c++  java
  • 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;
    
    }
    

      

  • 相关阅读:
    nat
    ICE协议下NAT穿越的实现(STUN&TURN)
    比特币源码分析--端口映射
    IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别(百度)
    从数据的角度带你深入了解IPFS
    IPFS 到底是怎么工作的?
    从数据的角度带你深入了解IPFS
    IPFS
    IPFS中文简介
    bootstrap 表单验证 dem
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/7357130.html
Copyright © 2011-2022 走看看