小编pix*_*mer的帖子

使用Factory专门创建对象

我目前正在研究一个学生项目,并想知道是否有办法专门用工厂方法创建对象?

public class PersonFactory {

    public static Person createPerson() {
        // some constraints ...
        return new Person();
    }

}
Run Code Online (Sandbox Code Playgroud)

我的示例PersonFactory.java应该Person用它的createPerson()方法返回对象.

public class Person {

    // some examples ...
    private String name;
    private int age;

    public Person() {
        // ...
    }

}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但在main程序中,我仍然能够Person使用它们的公共构造函数创建对象(因为它是public).但是如果我将构造函数更改为private,则工厂方法也无法访问它.

public class PersonManagement {

    public static void main(String[] args) {
        // both still works ...
        Person p1 = new Person();
        Person p2 = PersonFactory.createPerson(); …
Run Code Online (Sandbox Code Playgroud)

java factory object

5
推荐指数
2
解决办法
1742
查看次数

标签 统计

factory ×1

java ×1

object ×1