for java beginner 9 java反射の概念とConstructorクラス

2141 ワード

JAva反射の概念とConstructorクラス
反射とはJavaクラスの様々な成分を対応するJAVAクラスにマッピングすることである.
JAVAクラスはそのバイトコードにパッケージ名getPackage()が付いてからクラスPackgaeを得る
に似ている
それぞれの方法を  Methodクラスにマッピング
.............
反射に使用する最も重要なクラスについて説明します
コンストラクション関数
======================================
package com.ncs;

import java.lang.reflect.Constructor;

public class ReflectTest {
	public static void main(String[] args) throws Exception {
		
		//              ClassNotFoundException          
		//             
		Constructor[] constructors = Class.forName("java.lang.String").getConstructors();
		
		//                      NoSuchMethodException               
		//  ,         N  ,     123             ,         
		//  getConstructor(StringBuffer.class); 1.5                 
		//    Class<?>... parameterTypes
		Constructor constructor = Class.forName("java.lang.String").getConstructor(StringBuffer.class);
		
		//          new String(new StringBuffer("abc"));
		//      
		//               ,       StringBuffer 
		//Constructor          newInstance(arg0);  call        
		//  ,     StringBuffer      ,
		//                 OK ,       
		//         constructor      StringBuffer      !!
		//         constructor         
		//           Constructor    ,         newInstance,    
		//          
		//                         (String)
		//   ,   runtime,JVM       ,
		//                   
		//          String  ,compiler     ,      ,JVM     
		String myString = (String)constructor.newInstance(new StringBuffer("abc"));
		
		
		
		//test
		System.out.println(myString.charAt(2));
		
		//out c OK!S
		
		//        ,     constructor 
		//    ,                        ,      
		//Class.newInstance()   call        
		String s1 = (String)Class.forName("java.lang.String").newInstance();
		
		
	}
}

==========================================