Java1.4工厂问题
我有一个工厂,我想限制可能传递到get方法中的值Java1.4工厂问题,java,factory-pattern,Java,Factory Pattern,我有一个工厂,我想限制可能传递到get方法中的值 public static class FooFactory{ public static final String TYPE1= "type1"; public static Foo getFoo(String type){ switch(type){ case "type1": return new Type1(); } } } 要使用此选项,请执行以下操作: FooFactory.getF
public static class FooFactory{
public static final String TYPE1= "type1";
public static Foo getFoo(String type){
switch(type){
case "type1":
return new Type1();
}
}
}
要使用此选项,请执行以下操作:
FooFactory.getFoo(FooFactory.TYPE1);
我想限制可能传入的参数。创建一个类型抽象类,然后子类化并使用类型作为参数,这是一个好主意吗?不要子类化它,只需创建一个使用stirng参数的私有构造函数的类型类,并定义公共类型常量 像这样的
public final class Type {
public static final Type FOO = new Type( "foo" );
public static final Type BAR = new Type( "bar" );
private String type;
private Type( String type ) {
this.type = type;
}
public String getType() { return type; }
}
不要将其子类化,只需创建一个带有私有构造函数的类型类,该构造函数接受stirng参数,并定义公共类型常量 像这样的
public final class Type {
public static final Type FOO = new Type( "foo" );
public static final Type BAR = new Type( "bar" );
private String type;
private Type( String type ) {
this.type = type;
}
public String getType() { return type; }
}
您使用Java 1.4编程的是什么样的疯狂环境?您使用Java 1.4编程的是什么样的疯狂环境?