zoukankan      html  css  js  c++  java
  • new 和Class.forName()有什么区别?(转)


    首先,newInstance( )是一个方法,而new是一个关键字;


    其次,Class下的newInstance()的使用有局限,因为它生成对象只能调用无参的构造函数,而使用 new关键字生成对象没有这个限制。
    简言之:
    newInstance(): 弱类型,低效率,只能调用无参构造。
    new: 强类型,相对高效,能调用任何public构造。
    Class.forName(“”)返回的是类。
    Class.forName(“”).newInstance()返回的是object 。


    问题:为什么在加载数据库驱动包的时候有用的是Class.forName( ),却没有调用newInstance( )?
    在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法。
    通过查询 Java Documentation 我们会发现使用 Class.forName( ) 静态方法的目的是为了动态加载类。
    通常编码过程中,在加载完成后,一般还要调用 Class下的 newInstance( ) 静态方法来实例化对象以便操作。因此,单使用 Class.forName( ) 是动态加载类是没有用的,其最终目的是为了实例化对象。

    转:https://blog.csdn.net/qq_36473318/article/details/83549589?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.not_use_machine_learn_pai&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-2.not_use_machine_learn_pai

  • 相关阅读:
    POJ
    CodeForces
    部分和问题
    NOIP200502校门外的树
    消灭虫子
    抓牛
    最长不下降子序列的长度
    HDNoip201501计算结果最小
    抽签
    Ants
  • 原文地址:https://www.cnblogs.com/listenerxx/p/14250567.html
Copyright © 2011-2022 走看看