di recente ho esaminato il concetto di ereditarietà.Ereditarietà in Java
Come tutti sappiamo, in ereditarietà, gli oggetti superclass
vengono creati/inizializzati prima degli oggetti subclass
. Quindi, se creiamo un oggetto di subclass
, conterrà tutte le informazioni della superclasse.
Ma a un certo punto mi sono bloccato.
I metodi superclasse e sottoclasse sono presenti su stack di chiamata separati? Se è così, c'è qualche specific reason
per lo stesso? Se non è così, perché non appaiono sullo stesso stack di chiamate?
E.g.
// Superclass
class A {
void play1() {
// ....
}
}
// Subclass
class B extends A {
void play2() {
//.....
}
}
poi fa i suddetti 2 metodi cioè play1()
e play2()
appaiono sullo stack di chiamate separata?
Grazie.
Avete qualche ragione per pensare che * potrebbero * essere su pile diverse? Dato che c'è un preciso bisogno che la superclasse init abbia completamente terminato prima della sottoclasse init, è seriale comunque, no? – CPerkins