JAva反射——構造関数
1914 ワード
反射構造関数を取得して呼び出します.いくらコードが入らないと言っても速い.私はコードをブロックのコード領域に分けて、1つの注釈の他のものを見る必要があります.テストしたことがあります.
package FanShe;
import java.lang.reflect.*;
class Student {
//--------------- -------------------
//( )
Student(String str){
System.out.println("( ) s = " + str);
}
//
public Student(){
System.out.println(" 、 。。。");
}
//
public Student(char name){
System.out.println(" :" + name);
}
//
public Student(String name ,int age){
System.out.println(" :"+name+" :"+ age);// , 。
}
//
protected Student(boolean n){
System.out.println(" n = " + n);
}
//
private Student(int age){
System.out.println(" :"+ age);
}
}
public class ConstructorDemo {
public static void main(String[] args) throws Exception {
// Class c=new Student().getClass();
Class c=Student.class;
// Class c=Class.forName("FanShe.Contructor");
// Class
/*System.out.println("***** *****");
Constructor[] cArr=c.getConstructors();
for(Constructor con:cArr) {
System.out.println(cor);
}*/
/*System.out.println("***** *****");
Constructor[] cArr=c.getDeclaredConstructors();
for(Constructor con:cArr) {
System.out.println(con);
}*/
/*System.out.println("***** *****");
Constructor con=c.getConstructor();
System.out.println(con);*/
/*System.out.println("***** *****");
Constructor con=c.getDeclaredConstructor(String.class);
System.out.println(con);*/
/*System.out.println("***** , *****");
Constructor con=c.getDeclaredConstructor(String.class);
con.setAccessible(true);//
Object obj=con.newInstance(" ");//new Student(" ")*/
}
}