工厂模式的全局函数或没有名称 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");