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;
    
    }
    

      

  • 相关阅读:
    asp.net 启动关闭iis
    vue 界面关闭触发事件 ---实例销毁之前调用
    ElmentUI 设置禁止点击遮罩关闭 el-dialog 弹窗
    C#反射
    SQL Server 创建游标(cursor)
    文件解压缩
    文件流操作
    Linq查询
    C#线程 多线程 进程
    匿名类型和反射
  • 原文地址:https://www.cnblogs.com/1020182600HENG/p/7357130.html
Copyright © 2011-2022 走看看