Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从没有构造函数的另一个类调用方法_Java - Fatal编程技术网

Java 如何从没有构造函数的另一个类调用方法

Java 如何从没有构造函数的另一个类调用方法,java,Java,我在学校的一个节目上有点麻烦 我必须通过BCD类中名为factorial的方法调用factorial类中名为factorial的方法。通常,我会这样做: FactorialCalculator newCalc = new FactorialCalculator(8); 但是,factorial是factoriacalculator类中唯一的方法,我不允许创建更多的方法,包括构造函数 有什么建议吗?如果是静态方法,您可以使用FactorialCalculator.factorial(…)将其创建

我在学校的一个节目上有点麻烦

我必须通过
BCD
类中名为
factorial
的方法调用
factorial
类中名为
factorial
的方法。通常,我会这样做:

FactorialCalculator newCalc = new FactorialCalculator(8);
但是,
factorial
factoriacalculator
类中唯一的方法,我不允许创建更多的方法,包括构造函数


有什么建议吗?

如果是静态方法,您可以使用
FactorialCalculator.factorial(…)
将其创建为静态方法:

public class FactorialCalculator {
    public static int factorial(int number) {
        // Calculate factorial of number
    }
}
你可以这样称呼它:

int factorial = FactorialCalculator.factorial(5); // for the example
int number = 10;
int f = FactorialCalculator.factorial(number); 

static方法是一种与任何类的任何实例都不关联的方法,可以使用Classname.staticMethod()符号来访问它。

很简单,如果将其设置为
static
,则可以从另一个类调用它。 将其创建为静态方法:

class FactorialCalculator {
    public static int factorial(int number) {
        ...YourCode...
    }
}
你可以这样称呼它:

int factorial = FactorialCalculator.factorial(5); // for the example
int number = 10;
int f = FactorialCalculator.factorial(number); 

您可以使用默认构造函数,它只是
FactorialCalculator fc=new FactorialCalculator()。就这么简单。但是,看起来您的老师希望您创建一个静态方法。静态方法有点像类的实用程序,而不是对象的函数。因此,在您的例子中,您应该使factoriacalculator更像是一个实用类,而不是一个对象类
publicstaticintfactorial(intnum){}
应该可以做到这一点。这样,您就可以像您在示例中所做的那样转到
FactorialCalculator.factorial(5)


希望这有帮助

首先,您总是有标准构造函数,它不接受任何参数。所以你们可以建立因子计算器,然后调用它的因子方法

虽然最好是静态的,但请注意,如果不定义构造函数,则可以免费获得默认构造函数。