接口类 java 中的静态工厂方法
我正在阅读有效的java教科书。第一项是关于使用静态工厂方法而不是公共构造函数。我的疑问是,如果我指定一个如何指定一个静态工厂方法?因为 java 不支持 内部的静态方法。该教科书指定了有关创建包含公共静态工厂方法的不可实例化类的信息。但是,这些方法如何访问实现类的私有构造函数呢?Interface
Interface
interface
教科书说,如果你正在定义一个 ,创建一个不可实例化的类,并在该类中包含静态工厂方法。但是,在类中定义的方法如何访问具体实现的私有构造函数Interface Type
Types
Types
Interface Type
编辑:- 下面的句子引用自教科书。请解释一下它的含义
“接口不能有静态方法,因此按照惯例,名为 Type 的接口的静态工厂方法被放在名为 Types 的不可检验类(Item 4)中。 "
编辑:- 摘自Joshua Bloch的《Effective Java》:Item1 - Static Factory Method
public interface Foo{ //interface without plural 's' (question 1)
public void bar();
}
public abstract class Foos(){ // abstract factory with plural 's' (question 1)
public static Foo createFoo(){
return new MyFoo();
}
private class MyFoo implements Foo{ // a non visible implementation (question 2)
public void bar(){}
}
}
我的问题是,静态方法如何调用私有构造函数createFoo()
MyFoo