2016-12-19 14 views
-6

私は次のプログラムの結果について本当に混乱しています。それは誰でも説明できますか?java - "this"文の説明

public class Prg { 
    Prg() { 
     this(0); 
     System.out.println("Hi "); 
    } 

    Prg (int x) { 
     this(0, 0); 
     System.out.println("Hello"); 
    } 

    Prg (int x, int y) { 
     System.out.println("How are you"); 
    } 

    public static void main(String[] args) { 
     Prg ob = new Prg(); 
    } 
} 

出力:

どのようにあなたが
ですこんにちは
こんにちは

+0

命名規則に固執してください!特に初心者として! –

+0

注:Java言語の規則では、クラス名は大文字で始まる必要があります。このプログラム全体を通して、 'prg'は' Prg'に変更されるべきです。好ましくは、より合理的な名前にします。 – RealSkeptic

+0

私はそれを修正しました。私はいい猫じゃない? (私は帽子のためにも釣りをしています) – Bathsheba

答えて

1

this(0);コンストラクタ委譲の一例です。ここでは、コンストラクタから、intを引数としてとるコンストラクタを呼び出します。このイディオムを利用するには、別のコンストラクタの呼び出しが、呼び出し元のコンストラクタの最初のステートメントでなければなりません。

残りの動作は、行単位のデバッガで適切に説明されています。

+0

私はこれを一度も使用しなかったとします(0、0)。出力は「Hello Hai」と表示されます – geetha