创建对象的两种方式

Posted chenloveslife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建对象的两种方式相关的知识,希望对你有一定的参考价值。

一、通过加载类机制创建对象

  主要过程:

1 String str = “asdf” ;
2 Class t = Class.forName(str);
3 Object obj = t.newInstance();

  先来认识一下Class.forName():

 Class.forName(xxx)返回的是名字为xxx的一个类,利用反射机制。
 Class.forName(xxx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。

 接着使用newInstance方法来创建对象,前提必须该类已经加载,这里上述的方法已经完成。

 工厂模式就常通过该方法创建对象以及JDBC连接驱动也常用该方法加载驱动类,此分步骤创建的对象的好处是可以获得更多的灵活性,其缺点是创建对象时只能默认调用无参的构造方法,效率低。

二、通过创建一个新类并实例化创建对象

  一个常用的通过new关键字实例化对象,强类型,可以调用各种含参构造器,效率相对高些。

  

以上是关于创建对象的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

Java线程Thread使用匿名内部类创建的两种方式

Java反射获取class对象的三种方式,反射创建对象的两种方式

Java创建线程的两种方法

反射动态的创建对象的两种方式

java中多线程的两种创建方式

iOS中创建单例的两种方式