簡體   English   中英

構造方法重載Java

[英]Constructor Method overload Java

我正在嘗試創建非常簡單的Rational類。

如果在主要方法中,一個調用Rational(2)num = 2den = 1

如果一個調用Rational(2, 4)num = 2den = 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM