zoukankan      html  css  js  c++  java
  • Java SE之反射技术[Field](二)

    如果对于反射的基本概念还不了解的请见上一帖子。本文仅谈fields的用法demo

    /**
     * 
     * @author Zen Johnny
     *
     */
    package com.cpms.test;
    
    import java.lang.reflect.Field;
    import java.util.List;
    
    public class ReflectDemo {
    	public static void reflect() {
    		Person employee = new Person();
    		Class<Person> clazz = (Class<Person>) employee.getClass();
    		
    		for(Field field : clazz.getDeclaredFields()) {//getDeclaredFields
    			System.out.println(field + "【" + field.getName() + "】");
    		}
    		System.out.println("**********************************************");
    		for(Field field : clazz.getFields()) {//getFields
    			System.out.print(field + "【" + field.getName() + "】");
    		}
    		System.out.println("**********************************************");
    		
    	}
    	
    	public static void main(String args[]) {
    		reflect();
    	}
    }
    
    class Person{
    	public String nickName;//public field
    	private String realName;
    	private int age;
    	private List<String> friends;
    	private double money; //no setter and getter
    	
    	public String getNickName() {
    		return nickName;
    	}
    	public void setNickName(String nickName) {
    		this.nickName = nickName;
    	}
    	public String getRealName() {
    		return realName;
    	}
    	public void setRealName(String realName) {
    		this.realName = realName;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public List<String> getFriends() {
    		return friends;
    	}
    	public void setFriends(List<String> friends) {
    		this.friends = friends;
    	}
    	
    	@Override
    	public String toString() {
    		return "Person [nickName=" + nickName + ", realName=" + realName + ", age=" + age + ", friends=" + friends
    				+ ", money=" + money + "]";
    	}
    }

    输出:

      

    所有属性:
    public java.lang.String com.cpms.test.Person.nickName【nickName】 private java.lang.String com.cpms.test.Person.realName【realName】 private int com.cpms.test.Person.age【age】 private java.util.List com.cpms.test.Person.friends【friends】 private double com.cpms.test.Person.money【money】(无set个get的属性) ********************************************** 公共属性:
    public java.lang.String com.cpms.test.Person.nickName【nickName】 **********************************************

      

  • 相关阅读:
    .37-浅析webpack源码之事件流make(4)
    .36-浅析webpack源码之Parser类
    .35-浅析webpack源码之babel-loader入口文件路径读取
    .34-浅析webpack源码之事件流make(3)
    浅探element-ui2组件源码之upload
    .33-浅析webpack源码之doResolve事件流(5)
    .32-浅析webpack源码之doResolve事件流(4)
    .31-浅析webpack源码之doResolve事件流(3)
    .30-浅析webpack源码之doResolve事件流(2)
    windows server 2016 支持多用户远程登录
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/7828536.html
Copyright © 2011-2022 走看看