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