簡體   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