初始化一个类,生成一个实例一般会用到 clazz.newInstance()和关键字new两种方式!
1、 clazz.newInstance()
使用clazz.newInstance()需要满足两个条件
1.1、确保该类已加载和连接。
1.2、该类必须要有无参构造函数。
要确保该类已加载和连接可以使用两种方式:
1.1、aClazz=bClazz;
1.2、class aClazz=Class.forName(String name);
这两种方式的区别:aClazz=bClazz是在编译时加载,class aClazz=Class.forName(String name);是运行时加载
2、new关键字
使用new可以不用事先加载该类,new就相当于Class.forName()和 clazz.newInstance()两步结合起来
总结:
从可伸缩、可扩展,可重用等方面来说,clazz.newInstance()的方式更加灵活,可以降低耦合度!