六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 53|回复: 0

反射(Reflection)

[复制链接]

升级  92%

12

主题

12

主题

12

主题

童生

Rank: 1

积分
46
 楼主| 发表于 2013-1-26 15:55:16 | 显示全部楼层 |阅读模式
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();}}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表