内のオブジェクトを作成します。また、設定時にはの初期値が初期設定されます。例えばのJava:私は宣言と初期化のdefinitonについて確認していない3つのステップ(宣言、割り当て/初期化、割り当て)
1)オブジェクトロッキー(クラス犬)の宣言:
Dog rocky;
これはスタック内の唯一のエントリを作成しない参照が存在しませんか?
。犬のインスタンスを作成
2):ヒープ内
new Dog();
メモリ割り当て、デフォルト値の初期化(変数legs
)0
に、リファレンスを作成します。
は、私は、コンストラクタを持っていない場合:コンパイラはデフォルトコンストラクタを作成します。それは空ですか? コンストラクタとデフォルト値の初期化は、魚の異なるやかんでなければならないし、可能なインスタンス初期化子(次インスタンス初期化子ブロックとコンストラクタ)の一つです。
。
3)割り当て:参照値をスタックに入れますか?
rocky = new Dog();
私はそうですか?
おかげ
サンプル:
class Dog
{
int legs;
Dog()
{
System.out.println("constructor invoked");
}
}
public class Foo
{
public static void main(String[] args)
{
Dog rocky;
new Dog();
rocky = new Dog();
}
}