[英]Constructor Method overload Java
我正在嘗試創建非常簡單的Rational類。
如果在主要方法中,一個調用Rational(2)
則num = 2
和den = 1
如果一個調用Rational(2, 4)
則num = 2
和den = 4
這是我的代碼:
public class Rational {
public long num;
public long den;
Rational(long arg1, long arg2){
num = arg1;
den = arg2;
}
Rational(long arg1){
long x = 1;
Rational(arg1, x); //Rational(long, long) is undefined for type Rational
}
}
我已評論該錯誤消息,但我不知道如何解決。
有什么建議么?
您需要使用this
關鍵字,但它必須是構造函數中的第一條語句,因此在此之前將無法定義x
this(arg1, 1);
this(arg1, 1);
您可以使用this
關鍵字調用另一個構造函數,類似於您使用super
。 它也必須是構造函數主體中的第一條語句。 因為它是第一個,所以您將必須更改示例中傳遞x
的方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.