標籤:catch hibernate print for logs 開始 stat opened new
1 package 反射;2 3 public class Test反射 {4 public static void main(String[] args) {5 System.out.println(Runtime.getRuntime().getClass());//class java.lang.Runtime6 Test反射 t=new Test反射();7 System.out.println(t.getClass());//class 反射.Test反射8 }9 }getClass
1 package 反射; 2 3 public class Test反射 { 4 public static void main(String[] args) { 5 Test反射 t=new Test反射(); 6 //Class類是反射操作的源頭,所有的反射都要從此類開始進行。 7 Class<?> cls=t.getClass();//第1種Class類執行個體化方法,用的很少 8 System.out.println(cls);//class 反射.Test反射 9 Class<?> cls2=Test反射.class;//第2種Class類執行個體化方法,用的多,使用領域:Hibernate、Mybatis、Spring10 System.out.println(cls2);//class 反射.Test反射11 Class<?> cls3=null;12 try {13 cls3=Class.forName("反射.Test反射");//第3種Class類執行個體化方法,用的多。此處要寫全名,即加上包名,否則報錯。14 } catch (ClassNotFoundException e) {15 e.printStackTrace();16 }17 System.out.println(cls3);//class 反射.Test反射18 }19 }Class類3種執行個體化方式
1 package 反射; 2 class A{ 3 public A(){ 4 System.out.println("調用無參構造執行個體化對象。"); 5 } 6 @Override 7 public String toString() { 8 return "調用toString()方法。"; 9 }10 }11 public class Test反射 {12 public static void main(String[] args) {13 Class<?> cls=null;14 try {15 cls=Class.forName("反射.A");16 } catch (ClassNotFoundException e) {17 e.printStackTrace();18 }19 Object o=null;20 try {21 o=cls.newInstance();22 } catch (InstantiationException e) {23 e.printStackTrace();24 } catch (IllegalAccessException e) {25 e.printStackTrace();26 }27 System.out.println(o);28 /**29 * 運行結果:30 * 調用無參構造執行個體化對象。31 * 調用toString()方法。32 */33 }34 }利用反射進行執行個體化對象
【java】反射簡單樣本