0

独自のデフォルト コンストラクターを提供し、その中で id を初期化しなかった場合、インスタンス変数 id はどのように 0 に初期化されるのでしょうか? 出力は id:0 status:B になります id 0 はどうですか?

`class Demo{
    private int id;
    private char status; 

    public Demo(){ 
    status = 'B';
    }

    public void display(){
    System.out.println("Id:="+id+" Status:"+status);
    }

    public static void main(String args[]){
    Demo ob = new Demo();
    ob.display();
    }
}`
4

10 に答える 10

1

Java では、初期化されていないすべての変数は、宣言されている型のデフォルト値に自動的に初期化されます。

  • フロート: 0.0f
  • 整数/短/バイト: 0
  • ロング:0L
  • オブジェクト: null
  • ブール値: false
于 2013-08-13T07:49:08.127 に答える
1

プリミティブ型のデフォルトは特定の値です。int の場合は 0 です。

于 2013-08-13T07:49:33.157 に答える
0

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

フィールドの宣言時に値を割り当てる必要は必ずしもありません。宣言されているが初期化されていないフィールドは、コンパイラによって適切なデフォルトに設定されます。一般的に言えば、この既定値は、データ型に応じてゼロまたは null になります。ただし、このようなデフォルト値に依存することは、一般にプログラミング スタイルが悪いと見なされます。

次の表は、上記のデータ型のデフォルト値をまとめたものです。

+------------------------+----------------------------+
| Data Type              | Default Value (for fields) |
+------------------------+----------------------------+
| byte                   |               0            |
| short                  |               0            |
| int                    |               0            |
| long                   |              0L            |
| float                  |            0.0f            |
| double                 |            0.0d            |
| char                   |        '\u0000'            |
| String (or any object) |            null            |
| boolean                |           false            |
+------------------------+----------------------------+
于 2013-08-13T07:51:53.613 に答える
0

「int型の場合、デフォルト値はゼロ、つまり0です」.
言語仕様でデフォルト値を確認できます: http://docs.oracle.com/javase/specs/jls/se5.0/html/typesValues.html#96595

于 2013-08-13T07:52:09.023 に答える
0

コードによると、 id はインスタンス変数であり、インスタンス変数が定義されていない場合、デフォルト値が使用されます。あなたの場合、idはintであるため、値は0です

于 2013-08-13T07:56:00.443 に答える
0

インスタンス変数はデフォルト値で初期化され、整数の場合は 0 です。

于 2013-08-13T07:48:34.077 に答える
0

idはプリミティブ型 でint、デフォルトは0です。

あなたはオブジェクトについて考えています

これは実際にはオブジェクトへの参照であり、これらのデフォルトは でありnull、オブジェクトを指していないことを意味します。

于 2013-08-13T07:48:48.430 に答える
0
  • inttypeのデフォルト値は であるためです0
  • すべてのインスタンス変数にはデフォルト値が割り当てられます
于 2013-08-13T07:49:06.760 に答える