工厂模式的全局函数或没有名称 java 的函数
Global function or function with no name java for factory pattern
我想声明一个工厂class,其中包含一些可以像这样使用的方法和属性:
ClassFactory myObj = MyObj("Class1").method1("input 2");
这似乎不是一个有效的 JAVA 语句,因为 JAVA 是完全面向对象的,不允许声明全局函数。但是如果有一种机制可以让定义函数不带名字,我们可以将它定义为静态函数并像上面提到的那样使用它。
有没有办法以那种方式或任何其他方式在 JAVA 中实现它?
您可以在 class 中创建一个 public 静态方法,它可以全局使用。例如,public class 中名为 GlobalClass
的方法 public static boolean doesWork() { return true; }
可以被 GlobalClass.doesWork()
访问,并且 return true
.
感谢 Sotirios Delimanolis 的帮助:
这可以通过定义静态方法并将其静态导入到您想要的任何地方。
package factorypakcage;
public class firstFactory{
public static factoryFunction(String className){
//switch case for class creation
}
}
这样使用
import static factorypakcage.firstFactory.factoryFunction;
...
MyClass MyObj = factoryFunction("Class Name");
我想声明一个工厂class,其中包含一些可以像这样使用的方法和属性:
ClassFactory myObj = MyObj("Class1").method1("input 2");
这似乎不是一个有效的 JAVA 语句,因为 JAVA 是完全面向对象的,不允许声明全局函数。但是如果有一种机制可以让定义函数不带名字,我们可以将它定义为静态函数并像上面提到的那样使用它。
有没有办法以那种方式或任何其他方式在 JAVA 中实现它?
您可以在 class 中创建一个 public 静态方法,它可以全局使用。例如,public class 中名为 GlobalClass
的方法 public static boolean doesWork() { return true; }
可以被 GlobalClass.doesWork()
访问,并且 return true
.
感谢 Sotirios Delimanolis 的帮助: 这可以通过定义静态方法并将其静态导入到您想要的任何地方。
package factorypakcage;
public class firstFactory{
public static factoryFunction(String className){
//switch case for class creation
}
}
这样使用
import static factorypakcage.firstFactory.factoryFunction;
...
MyClass MyObj = factoryFunction("Class Name");