以下のコンストラクターでは、2 つの変数のみを初期化し、一部の変数を明示的に初期化しないままにしています。
私が読んだように、コンストラクターが私たちによって提供されている場合、コンパイラーによって引数コンストラクターは作成されません。そのような場合、私には独自のコンストラクターがあるため、変数 p と q を初期化するデフォルトのコンストラクターはありません。
したがって、ロジックは、これらの初期化されていない変数にアクセスしようとすると、コンパイル時エラーになるはずです.ただし、次のコードは正常に実行されます.
出力は 5 10 0.0 0.0 です
コンストラクターで宣言していないので、出力 0.0 と 0.0 をどのように説明できますか??
public class Rectangle {
int l, b;
double p, q;
public Rectangle(int x, int y) {
l = x;
b = y;
}
public static void main(String[] args) {
Rectangle obj1= new Rectangle(5,10);
System.out.println(obj1.l);
System.out.println(obj1.b);
System.out.println(obj1.p);
System.out.println(obj1.q);
}
}