このようなものはどのようにメモリ(スタック、ヒープなど)に保存されますか?多形性におけるメモリ管理はどのようにして行われますか?
public class Animal {
// Stuff
}
public class Dog extends Animal {
// Stuff
}
public class Test {
public static void main(String[] args) {
Animal bello = new Dog();
}
}
どのようにこれは、次のとおりです。Animal bello = new Dog();
は、メモリの的に管理しますか? bello
はタイプAnimal
の参照ですが、それが指していたオブジェクトのタイプがDog
あなたが何を求めているかわからない。 _reference_ 'bello'は' main'のローカルなので、スタックに入ります。あなたが 'new'で作成したので、' Dog '自体はヒープになります。しかし、これは、すべてのオブジェクトとそれらを参照するすべてのローカル変数で同じです。継承は違いはありません。 –
@DavidWallace参照のデータ型がオブジェクトのものと同じでない場合は、それは何の違いもありませんか? –
いいえ。オブジェクトはそれ自身の 'class'を知っていますが、それを参照する変数の型は分かりません。 –