java核心技術反射

類加載器:

用來加載經過javac編譯成的.class文件。jvm虛擬機當中的類加載器負責加載這些編譯好的類字節文件,先通過一系列的處理,而後緩存到咱們的JVM虛擬機中。供程序隨時使用。java

反射實現的基礎---》class類

class 聲明類型緩存

Class 描述java類的組成成分(名字、屬性、路徑、父類、構造方法、普通方法)框架

Class 實例化的方式? 加載到虛擬的這個模板字節 創造一個實際的對象出來
大寫的Class是描述咱們的java類jvm

String s = "獲取Class對象";
	   //1實例化對象.getClass()
	   Class clazz1 = s.getClass();
	   //2 類.class
	   Class clazz2 = String.class;
	   //3各類框架經常使用        Class.forName();
	   Class clazz3 =Class.forName("java.lang.String");
	   System.out.println(clazz1 == clazz2);//true
	   System.out.println(clazz1 == clazz3);//true
	   
	   System.out.println(Integer.class == int.class);//false
	   System.out.println(Integer.TYPE == int.class);//true
	   //八大簡單基本類型  void 是咱們的九大預約義
	   
	   Class clazz4 = int.class;
	   System.out.println(clazz3.isPrimitive()); //false  String 也是一個封裝類
	   System.out.println(clazz4.isPrimitive()); //true int是預約義的
	   
	   //獲取String傳入StringBuffer構造方法
	   Constructor constructor = clazz3.getConstructor(StringBuffer.class);
	   //使用構造方法 實例化一個String對象
	   String ss = (String)constructor.newInstance(new StringBuffer("aaaa"));
	   
	   System.out.println(ss);

反射

反射就是將一個類的組成部分映射成相應的java對象 字節模板 他的每部分的字節模板code

相關文章
相關標籤/搜索