反射: Javaオブジェクトのいずれかにマッピングされた様々な構造(メソッド、プロパティ、コンストラクタ、クラス名)、Javaクラス
1、オブジェクトクラスが取得
三つの方法:オブジェクト.getClassを();クラス名の.class;クラス。 forName( "パッケージ名クラス名。");
2、動的に作成されたオブジェクト
clz.getConstructor()。NewInstanceメソッド()
public class server {
public static void main(String[]args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException
{
//三种方式获取class对象
//1、对象.getClass()
Class clz=new iphone().getClass();
//2、类.class()
clz =iphone.class;
//3、Class.forName("包名.类名")
clz=Class.forName("cn.sxt.oo.iphone");
//创建对象,用构造器
iphone ip=(iphone)clz.getConstructor().newInstance();
System.out.println(ip);
}
}
class iphone{
public iphone()
{
}
}