[英]How to identify signatures of a method in Java?
我相信我無法理解如何在Java中給出方法的簽名。 例如,如果我的代碼是:
public void addOn(Fraction other) {
number = other.denominator * number + other.numerator * denominator;
denominator = denominator * other.denominator;
我必須給出方法addOn()的簽名;
這個方法的簽名只是addOn(Fraction);?
這實際上取決於您需要的“准確度”水平。
當你與同事非正式地交談時,那么“簽名”可能包含人類可能感興趣的所有信息:
然而,當你來自編譯器構造函數或JVM編譯器的觀點時,答案是不同的; 在這種情況下,只有第2項和第3項很重要; 別的不 簽名的一部分。
在Java中,方法簽名僅包含方法的名稱和參數的數據類型,而不包含任何其他內容。
例如,在您上面發布的方法中:
public void addOn(Fraction other) {
}
簽名將是addOn(Fraction)。
這是C ++和Java之間的區別之一,C ++簽名中也包含返回類型但在java返回類型中不是方法簽名的一部分。 所以在C ++方法的情況下,上述方法的簽名將為void addOn(Fraction);
如果要將Fraction
作為參數傳遞給類。 首先,您需要創建Fraction
引用
分數ref = new Fraction(); //假設分數類具有默認構造函數
然后你可以傳遞它;
addOn(ref); // Ref of Fraction類作為參數
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.