`

静态工厂方法月用new调用的构造方法的区别

 
阅读更多

1 构造方法的名字必须与类的名字相同,而静态工厂的方法名可以是任意的

2 每次执行new语句的时候,都会创建一个新的对象,而静态工厂方法每次调用,是否会创建一个新的对象,完全取决于方法的实现

 

分享到:
评论

相关推荐

    java静态工厂方法详细解析——使用静态工厂方法代替构造器

    静态工厂方法是一种在类中定义的静态公共方法,用于返回类的实例,而不是通过`new`关键字直接调用构造器来创建对象。这种方式使得实例化过程更加灵活,可以提供额外的控制或返回不同类型的实例。在Java中,我们可以...

    JavaEE spring静态工厂创建实例

    这种方法与传统的构造函数不同,因为构造函数是通过new关键字调用的,而静态工厂方法可以提供更加灵活的对象创建逻辑。 在Spring中,我们可以配置Bean定义来指定使用静态工厂方法创建对象。这需要在配置文件(如XML...

    java用静态工厂代替构造函数使用方法和优缺点

    本篇文章将深入探讨静态工厂方法代替构造函数的使用方法以及它们的优缺点。 首先,我们来看一下静态工厂方法的基本形式。一个典型的静态工厂方法可能如下所示: ```java public static Boolean valueOf(boolean b)...

    Java静态工厂方法的实例详解

    Java静态工厂方法是一种特殊的工厂方法,它可以返回类的实例,而不是通过构造器来获取实例。静态工厂方法通常以valueOf、getInstance、newInstance等命名,具有三个特点:具名、环保、多子。 具名:静态工厂方法...

    静态工厂demo

    2. **未使用静态工厂方法的Demo**:在这种情况下,`MyClass`可能会有一个公共构造器,允许直接通过`new MyClass()`创建对象。这种方式简单直接,但灵活性和控制力较低。 对比两个Demo,可以看到静态工厂方法在某些...

    Java构造方法解析.zip

    除了构造方法外,有时还可以使用静态工厂方法来创建对象。这种方法不涉及构造方法,而是通过类中的静态方法返回一个实例。虽然不是必须的,但在某些情况下(如对象池、私有构造方法等)静态工厂方法可能更为合适。 ...

    effective-java.pdf

    从提供的部分节选内容来看,文档专注于讨论在Java中使用静态工厂方法的好处及其与构造方法的区别,以下是对这些内容的详细展开。 1. 静态工厂方法与构造方法的区别 在Java中,获取类的实例通常是通过构造方法来实现...

    Java中构造方法被别封装后的调用.docx

    如果希望从其他类中创建此类的对象,可以考虑使用静态工厂方法或单例模式等设计模式。这种做法不仅保持了封装性,而且提高了代码的可读性和可维护性。总之,封装是一种重要的设计原则,它有助于确保类的行为和状态...

    new关键字和newInstance() 的区分

    Java 中 new 关键字和 newInstance() 的区分 Java 中的 new 关键字和 ...new 关键字是一种强类型的方式,相对高效,可以调用任何 public 构造,而 newInstance() 方法是一种弱类型的方式,低效率,只能调用无参构造。

    java 构造器的调用

    - 除了构造器,还可以使用工厂方法创建对象。工厂方法是类中的静态方法,返回类的新实例。这种方法可以提供更灵活的实例化逻辑,比如延迟初始化或返回子类实例。 总结,Java中的构造器是至关重要的,它们负责对象...

    为什么要在JAVA工厂模式中使用静态方法

    如果不使用工厂模式,你需要直接使用构造方法来创建对象: Foo x = new Foo()  使用工厂模式,可以取而代之的调用工厂方法: Foo x = Foo.create()  工厂类的构造方法被标记为private,所以构造方法除了

    Effective-Java读书笔记(上)

    2. **使用静态工厂方法**:如果一个类既提供了静态工厂方法也提供了构造器,则通常推荐使用静态工厂方法来创建对象,以减少不必要的对象创建。 通过以上讨论可以看出,使用静态工厂方法不仅可以让代码更加简洁易懂...

    java对象的 生命周期

    - **子类调用父类构造方法**:子类可以通过`super()`来调用父类的构造方法,确保继承的属性和状态正确初始化。 - **构造方法的作用域**:构造方法可以是私有的,这样可以限制对象的创建,实现单例模式等设计模式。 ...

    java高效编程[参照].pdf

    这里主要讨论了两种方式:使用构造函数和静态工厂方法。 首先,静态工厂方法在某些情况下优于构造函数。其优势在于: 1. 静态工厂方法具有命名,这使得方法调用更具描述性,提高了代码的可读性。例如,`getInstance...

    javascript工厂模式和构造函数模式创建对象方法解析.docx

    通过使用 `new` 关键字调用构造函数,可以创建出具有相同属性和方法的对象实例。 **2.2 构造函数模式的实现** 下面是使用构造函数模式重写上述工厂模式的例子: ```javascript function Person(name, age, job) {...

    675.673.JAVA基础教程_动态代理与Java8新特性-方法引用的使用情况3(675).rar

    3. **构造器引用**:通过`ClassName::new`可以创建一个新的对象实例,类似于工厂方法模式。 4. **数组构造器引用**:对于数组,可以使用`Type[]::new`来创建指定类型的数组。 5. **super方法引用**:在子类中,可以...

    《Effective Java》读书分享.pptx

    Builder 模式是一种构建对象的方法,不直接生成想要的对象,而是利用必要参数调用构造器(或者静态工厂)得到一个 builder 对象,然后在 builder 对象上调用类似 setter 的方法,设置可选参数,最后调用无参的 build...

    java私有构造函数

    例如,可以通过一个静态工厂方法`makeShape()`来创建不同类型的形状对象: ```java public static Shape makeShape(/* arglist */) { System.out.println("Here is the shape you ordered."); if (rectangle) {...

Global site tag (gtag.js) - Google Analytics