一緒にJavaの(XXIII)-----反射を学ぶために

ショートステップ、千マイル;ない小川、jianghaiに。

 

Java言語の基礎

 

Javaのリフレクション

その後、動作させるために、クラスのオブジェクトを使用して、このクラスはインスタンス化され、正の動作を見てください。

パブリッククラスアップル{ 
	
	プライベートint型の価格。
	公共int型のhighprice。
	int型lowprice; 
	文字列の名前。
	
	公共int型getprice(){ 
		リターンの価格; 
	} 
	
	公共ボイドsetprice(INT価格){ 
		this.price =価格。
	} 
	
	パブリック無効売り(){ 
		System.out.printlnは( "すべてのリンゴが販売しています!"); 
	} 
	
	プライベート無効買い(){ 
		System.out.printlnは( "購入りんご!"); 
	} 

	公共の静的な無効メイン(文字列[]引数)例外{スロー
		//正常调用
		アップルリンゴ=新しいアップル(); 
		apple.setprice(5)。
		System.out.println( "リンゴの価格は次のとおりです。" + apple.getprice()); 

	} 

}

  

リフレクションを使用して、最初のクラス(.classファイル)バイトコードファイルオブジェクトを得ます

3通りの方法でバイトコードファイルオブジェクトを取得します。

クラスCLS = Class.forNameの( "Testfather.Apple"); 
クラスCLS = Apple.class。
クラスCLS = apple.getClass()。 

1.静的メソッドにforName Classクラス、直接バイトコード・ファイル・オブジェクト・クラスに、そのクラスのソース・ファイル、または段階、およびバイトコード・ファイルとはなりません。

クラスCLS = Class.forNameの( "Testfather.Apple"); 

バイトコードファイルオブジェクトを取得2.クラスが.classファイルにロードされ、.classファイルPersonクラスにこの時間、すなわちクラスのバイトコードの段階では、独自のを取得します。

クラスCLS = Apple.class。

クラスのバイトコードクラスファイルオブジェクトクラスを取得することにより実施例3は、ステージ内のオブジェクトを作成します。

クラスCLS = apple.getClass()。

  

おすすめ

転載: www.cnblogs.com/smilexuezi/p/11983490.html