• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java通過反射訪問字段值

     

     

    package com.wkcto.chapter08.demo02;
    
    import java.lang.reflect.Field;
    
    /**
     * 通過反射訪問字段
     * 	
     * @author 蛙課網
     *
     */
    public class Test02 {
    
    	public static void main(String[] args) throws Exception{
    		//1)創建Class對象
    		Class<?> class1 = Person.class;
    		
    		//2) 訪問name公共字段
    		//2.1 反射name字段
    		Field nameF = class1.getField("name");
    		//2.2 給字段賦值, name字段是一個實例變量, 先創建實例
    		//2.2.1 創建Person類的實例
    		Object p1 = class1.newInstance();
    		//2.2.2 給字段賦值
    		//field.set( 實例名,  字段值 )    
    		nameF.set(p1, "wkcto");
    		//2.3 訪問字段的值, 
    		//field.get( 實例名 )
    		System.out.println(  nameF.get(p1) );
    		System.out.println( p1 );
    		
    		//3) 訪問gender私有字段
    		//3.1 反射gender字段 , 非公共字段
    		Field genderF = class1.getDeclaredField("gender");
    		//設置字段的可訪問性
    		genderF.setAccessible(true);
    		//3.2 設置字段值
    		genderF.set(p1 ,  "男");
    		//3.3訪問
    		System.out.println( genderF.get(p1));		
    		System.out.println( p1 );
    		
    		//4)訪問靜態字段, 在實例名的位置傳遞null
    		//反射字段
    		Field countryF = class1.getDeclaredField("country");
    		//設置字段的值
    		countryF.set(null, "china");
    		//讀取字段的值
    		System.out.println( countryF.get(null));
    	}
    
    }

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏