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

  • 相关阅读:
    呈现系统-组件间的通信方式(7)
    web项目中图标的前端处理方案
    ADO--数据访问技术
    canvas--绘制路径
    canvas--改变颜色
    canvas-在画布中画两个方块(一个空心一个实体)
    canvas--画布《第一步》
    拼图游戏【简单】
    判断字符串是否为空--string.Empty、string=""、s.length==0
    判断Char是否为数字
  • 原文地址:https://www.cnblogs.com/listenerxx/p/14250567.html
Copyright © 2011-2022 走看看