• <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.Constructor;
    import java.lang.reflect.Method;
    
    /**
     * 通過反射調用方法
     * 		method.invoke( 實例名,  方法的實參列表) 
     * 		如果是靜態方法, 實例名位置傳遞null
     * @author 蛙課網
     *
     */
    public class Test03 {
    
    	public static void main(String[] args) throws Exception {
    		//1)創建Class對象
    		Class<?> class1 = String.class;
    		
    		//2) 通過Class對象創建實例
    		Object str1 = class1.newInstance();  		//new String();
    		//通過構造方法創建實例,  String( byte[] )  	根據字節數組創建字符串
    		Constructor<?> constructor = class1.getConstructor( byte[].class );
    		byte[] bytes = "wkcto".getBytes();  		//返回字符串對應的字節數組
    		Object str2 = constructor.newInstance(bytes);
    		
    		//3)反射length()方法
    		Method lengthM = class1.getMethod("length");
    		//方法調用, invoke( 實例名,  該方法的實參列表)
    		Object len = lengthM.invoke(str1, null); 		//str1.length()
    		System.out.println( len );
    		len = lengthM.invoke(str2); 
    		System.out.println( len );
    		
    		//4)反射equals(Object)
    		Method equalsM = class1.getMethod("equals", Object.class);
    		Object result = equalsM.invoke(str1, str2);   //str1.equals(str2)
    		System.out.println( result );
    		
    		//5)反射substring( int, int )
    		Method substringM = class1.getMethod("substring",  int.class, int.class);
    		Object sub = substringM.invoke(str2, 0,2); 		//str2.substring(0,2)
    		System.out.println( sub );
    		
    		//6)反射靜態方法 valueOf(int)
    		Method valueOfM = class1.getMethod("valueOf", int.class);
    		Object text = valueOfM.invoke(null, 258);
    		System.out.println( text instanceof String );
    	}
    
    }

     

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