0
私はクラスオブジェクトの配列を初期化しましたが、のメモリ(スタックとヒープ)の割り当て方法が不思議です。教科書では、の左にのメモリ割り当てを描画します。オブジェクトの配列のメモリ割り当て(スタックとヒープ)
マイ質問がある:メモリの割り当ては、以下のコードでは、new Person[]{new Person("Simon", 20)...}
私は右に描くものではありませんなぜ、new Person
オブジェクトはper[0]
にそのメモリアドレスを割り当てるでしょう、しかし、per[0]
ですPerson[] per = new Person[3]
が実行されるとヒープで作成されます。クラスの配列の
初期化
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
public class Main {
public static void main(String[] args) {
Person[] per = new Person[]{new Person("Simon", 20), new Person("John", 21), new Person("Willy", 22)};
}
}
こんにちはPeterさん、あなたの返事をありがとう、これは私が他のことをするために 'per [0]'の値を使わなかったことを意味する、教科書に載っているコード全体ですが、イメージは私を本当に混乱させました...あなたが見ているように、私が理解しているのは、私が右に描いたイメージです。私は本当にどちらが良いのかわかりません... – Ruizhi
@Ruizhiはあまり役に立ちませんあなたがその要素にアクセスしない限り。 –