繁体   English   中英

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

[英]How to call a method from another class with no constructor

我在学校的课程上遇到了一些麻烦。

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

FactorialCalculator newCalc = new FactorialCalculator(8);

但是, factorialFactorialCalculator类中唯一的方法,我不允许再制作任何方法,包括构造函数。

有什么建议?

将其创建为静态方法:

public class FactorialCalculator {
    public static int factorial(int number) {
        // Calculate factorial of number
    }
}

你可以这样称呼它:

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

静态方法是一种与任何类的任何实例都无关的方法,可以使用Classname.staticMethod()表示法访问它。

这很简单,如果你把它变成Static ,你就可以从另一个类中调用它。 将其创建为静态方法:

class FactorialCalculator {
    public static int factorial(int number) {
        ...YourCode...
    }
}

你可以这样称呼它:

int number = 10;
int f = FactorialCalculator.factorial(number); 

如果它是一个静态方法,你会做FactorialCalculator.factorial(...)

您可以使用默认构造函数,它只是FactorialCalculator fc = new FactorialCalculator(); 很简单。 但是,看起来您的老师希望您创建一个静态方法。 静态方法有点像类的实用程序,而不是对象的函数。 因此,在您的情况下,您应该使FactorialCalculator更多地是实用程序类而不是对象类。 public static int factorial(int num) {}应该可以解决问题。 这样,你可以像在你的例子中那样去FactorialCalculator.factorial(5)

希望这可以帮助!

首先,您始终拥有标准构造函数,该构造函数不带参数。 所以你可以实例化FactorialCalculator ,然后调用它的factoral -Method

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM