ローカル変数の初期化方法にして、ブロック内で宣言
変数はローカル変数と呼ばれています。ローカル変数は、メソッド呼び出し時に作成されたときには初期化されません。したがって、ローカル変数は使用する前に明示的に初期化する必要があります。さもなければ、コンパイラは、それが含まれているメソッドまたはブロックが実行されたときにそれをエラーとしてフラグを立てます。
例:
public class SomeClassName{
public static void main(String args[]){
int total;
System.out.println("The incremented total is " + total + 3); //(1)
}
}
コンパイラは、(1)でのprintlnステートメントに使用されるローカル変数の合計が初期化されないことを訴えます。 使用が問題を解決する前に、ローカル変数の合計を初期化:
public class SomeClassName{
public static void main(String args[]){
int total = 45; //Local variable initialized with value 45 System.out.println("The incremented total is " + total+ 3); //(1)
}
}
フィールドの初期化
ない初期化をインスタンスまたは静的変数のが提供されていない場合、いずれかの宣言又は初期化子ブロック内の場合、 は、暗黙的にそのタイプのデフォルト値であるで初期化されます。 インスタンス変数は、クラスがインスタンス化されるたびに、そのタイプのデフォルト値であるで初期化されます。つまり、クラスから作成されたすべてのオブジェクトです。 静的変数は、クラスが最初にロードされるときにその型のデフォルト値で初期化されます。
'int型A'実際に明確である' 0のデフォルト値を持っている願っています'。 – Vulcan
オブジェクトのメモリブロック全体が常に0で埋められます。つまり、オブジェクトのすべての変数がデフォルトで0になるのはなぜですか?bはローカル変数であり、単純にその部分では初期化されません。値が – x4rf41
に割り当てられたときに初期化されますが、y b変数にはデフォルト値がありませんか? –