私はコンピュータサイエンスの学生です。私は昨晩早く宿題を勉強していました。私は冗長だと思った私の本の中の関数につまずいたが、私は、私はこれを見たよう関数のパラメータに定数を渡すことができますか?
public int refundBalance() {
int amountToRefund = balance;
balance = 0;
return amountToRefund;
}
を「混同」という得ている詳細な検査をすると、私は店に新しいローカル変数を作成する必要があると考え
refundBalance(balance);
public int refundBalance(int amount) {
balance = 0;
return amount;
}
しかし、明らかに、私はちょうど「トレーディング・ライン」だ:。むしろ冗長だったので、私はこれを考えたの周りにデータを渡します
質問:は常ににどのような方法は、コールに値を渡すことなく、関数に同じパラメータを渡すありますか?
オプションの質問:この機能をどのように最適化できますか?
おかげで、すべての< 3(さえ可能であれば)(P.S.これは宿題ではない、それだけで基本的な好奇心です。)
私はあなたの質問を理解しているかどうか分かりません。最初の例では 'balance'は' refundBalance() 'が宣言されているクラスのインスタンス変数(つまりフィールド)ですか?あなたの 'refundBalance(int amount)'はどのように使うのですか? 'amount'はそのまま返されるので、' refundBalance() 'を呼び出す唯一の効果は' balance'をゼロに設定することです。また、同じパラメータを渡すことについてのあなたの言葉は不明です:同じ*値*(その場合はハードコーディング)、同じ*変数*(それをカプセル化する必要がある閉鎖のいくつかの種類で)? –
関数に同じパラメータを渡す場合は、関数内で宣言してみませんか? –
@DanielPryden関数のコンテキストは実際問題ではありません。それは基本的にあなたの質問です:バランスを保存してゼロに設定し、完了したら保存された残高を返します。私は同じ_variable_を渡すことを考えていました。私はデフォルトのパラメータについて考えましたが、あなたがメソッドをオーバーロードしない限り、Javaはそれをサポートしません...しかし、私の考えは_variable_バランスとしてデフォルトのパラメータを設定することでした。 – yackyackyack