java加载动态类(Class类的使用 方法的反射 成员变量的反射 java类的加载机制)
1. 新建动态加载类方法入口
1 public class Office { 2 public static void main(String[] args) { 3 try { 4 Class c1=Class.forName(args[0]); //接收一个参数,这里是接收参数的类 5 OfficeAble o = (OfficeAble) c1.newInstance(); //对类进行实例化对象 6 o.start(); //调用该类的方法 7 } catch (ClassNotFoundException e) { 8 e.printStackTrace(); 9 } catch (IllegalAccessException e) { 10 e.printStackTrace(); 11 } catch (InstantiationException e) { 12 e.printStackTrace(); 13 } 14 } 15 }
2.新建接口,为了方便不确定的类动态加载
public interface OfficeAble { void start(); }
3. 加载类
//word.java public class Word implements OfficeAble{ @Override public void start() { System.out.printf("Word>>>>>>>>>"); } } //Excel.java public class Excel implements OfficeAble{ @Override public void start() { System.out.printf("Excel>>>>>>>"); } }
4.运行效果