读书人

反照(Reflection)

发布时间: 2012-12-24 10:43:14 作者: rapoo

反射(Reflection)

class A {public void method() {System.out.println("A's method is running.");;}}class B {public void method() {System.out.println("B's method is running.");;}}class Factory {@SuppressWarnings("unchecked")public static <T> T getInstance(String className) {T instatnce = null;try {Class<?> c = Class.forName(className);instatnce = (T) c.newInstance();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} return instatnce;}public static <T> T getInstance(Class<T> c) {T instance = null;try {instance = c.newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return instance;}}class Main {public static void main(String[] args) {A a = Factory.getInstance("A");a.method();B b = Factory.getInstance(B.class);b.method();}}

读书人网 >编程

热点推荐