java newInstance()和new Class()的区别
2014-08-25 17:04
260 查看
初始化一个类,生成一个实例一般会用到 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()的方式更加灵活,可以降低耦合度!
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()的方式更加灵活,可以降低耦合度!
相关文章推荐
- java基础--Class.forName()、Class.forName().newInstance() 、New 三者区别!
- Java关键字new和newInstance的区别方法
- java,new和newInstance()的区别
- Class.forName(XX).newInstance()创建对象和new关键字创建对象区别
- Class.forName()、Class.forName().newInstance() 、New 三者区别
- Class.forName(),newInstance(),New 三者区别
- java下Class.forName的作用是什么,为什么要使用它(和new对象的区别)
- java 中,new() 与newinstance()的区别~
- java中new和newInstance的区别
- java关键字new和newInstance()的区别
- java Class.forName和new 的区别
- The Difference of Class.forName()、Class.forName().newInstance() and New in Java
- Java中new和newInstance的区别
- MySQL JDBC驱动 - Class.forName和java.sql.DriverManager.registerDriver (new Driver())的区别
- Java关键字new和newInstance的区别方法
- 【JAVA】Class.forName用法以及和new的区别
- Java关键字new和newInstance的区别方法(转)
- Java关键字new和newInstance方法的区别
- java中new关键字和newInstance()方法有什么区别?
- Class.forName()、Class.forName().newInstance() 、New 三者区别! 终于明白为什么加载数据库驱动只用Class.forName()了!!困扰了我2个小时