gpt4 book ai didi

java - 静态工厂方法不起作用

转载 作者:行者123 更新时间:2023-12-02 11:15:32 25 4
gpt4 key购买 nike

开始阅读“Effective java”,但当我尝试编写示例时,无法理解为什么它对我不起作用..

编译错误:

Error:(12, 16) java: constructor Car in class Car cannot be applied to given types;

<小时/>
public class Car {

String model;

//no private constructor

public static Car fromModel(String model) {
return new Car(model);
}

}

这里一切正常:

public class Car {

String model;

//no private constructor

public static Car fromModel(String model) {
return new Car(model);
}
}

//Here everything is OK:

public class Car {

String model;

private Car(String model) {
this.model = model;
}

public static Car fromModel(String model) {
return new Car(model);
}

}

如果“考虑静态工厂方法而不是构造函数”,为什么我应该生成构造函数???

最佳答案

“考虑静态工厂方法而不是构造函数”是指为类之外的库用户提供对对象实例化的访问权限。

工厂方法使用的构造函数是工厂方法的实现细节,与static public方法相同 - 该方法和私有(private)构造函数一起构成一个工厂方法,供外部用户使用你的类库。

关于java - 静态工厂方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50309436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com