Mi chiedevo se c'è un numero finito di tempo in cui posso ereditare una classe? O quali sono i fattori che possono influenzare questo?Qual è il livello massimo di ereditarietà in java?
risposta
Leggi this (Il suo divertimento)
The system is out of resources. Consult the following stack trace for details. java.lang.StackOverflowError
+1 per alcune ricerche interessanti, rispondi a circa 60 livelli per compilare effettivamente * e in esecuzione * per coloro che vogliono conoscere la risposta prima di fare clic sul collegamento – Brian
Esperimento interessante, ma la risposta di @Jonathans è ancora vera: per tutte le applicazioni pratiche lì non c'è limite. –
bel articolo ... –
Per tutte le applicazioni pratiche, gli alberi di ereditarietà in Java possono raggiungere dimensioni infinite.
Non esiste un limite specifico nelle specifiche.
Probabilmente esiste un limite dipendente dall'implementazione, se solo nel senso che sei limitato dalla memoria disponibile (le informazioni sulla classe devono essere archiviate in qualche luogo dopo tutto).
E se mai raggiungi quel limite, il tuo design è rotto comunque (tutto ciò che va nelle doppie cifre è sicuramente un odore di codice).
Se una classe è final
, non è possibile ereditarla.
Oltre a ciò, è possibile avere alberi a eredità infinita. Puoi anche infinitamente implement
anche molte classi di interfaccia.
L'implementazione di molte interfacce consente di ottenere alberi ad ampiezza ereditaria, "tuttavia, non per quelli profondi. –
In realtà no - vedi la risposta di @ pinichi. –
@Joachim Sauer, vero, stavo solo elaborando che si può andare entrambi immensamente nell'ereditarietà e anche infinitamente larghi .... –
non c'è limite specificato. Per tutti gli scopi pratici, è infinito.
- 1. Qual è il valore massimo per Java Durata
- 2. Qual è il livello di parallelismo in Java ForkJoinPool?
- 3. Qual è il valore massimo di NSInteger?
- 4. Qual è il numero massimo di connessioni?
- 5. Qual è il ritardo massimo per setInterval?
- 6. Qual è il valore massimo di un numero in Lua?
- 7. Qual è il numero massimo di blocchi possibile in CUDA?
- 8. Qual è il debuglevel massimo per un httplib Python
- 9. Qual è il livello di attendibilità medio?
- 10. Qual è il massimo. lunghezza di un uid di Facebook?
- 11. Qual è il valore intero massimo in Flex?
- 12. Qual è il limite massimo per group_concat_max_len in MySQL?
- 13. Qual è il valore massimo per tinyint (2) in MySQL?
- 14. Ereditarietà in Java
- 15. Ereditarietà multipla in java
- 16. Ereditarietà in Core Java
- 17. Qual è il numero massimo di connessioni cURL impostato da?
- 18. Qual è il numero massimo di file per jar?
- 19. Golang, math/grande: qual è il valore massimo di * big.Int
- 20. ereditarietà Java
- 21. Thread.interrupt() in Java: qual è il punto?
- 22. Qual è la differenza tra un'API Java di alto livello e di basso livello?
- 23. Ereditarietà e casting: è buono questo java?
- 24. Qual è il valore massimo per una chiave CouchDB composta?
- 25. Qual è il minimo/massimo delle unità vh?
- 26. Qual è il console.log() di java?
- 27. alternativa di ereditarietà multipla in Java
- 28. Ereditarietà in Java - "Impossibile trovare il costruttore di simboli"
- 29. ereditarietà Java vs polimorfismo
- 30. Costruttori predefiniti ed ereditarietà in Java
Spero che tu non raggiunga mai un tale limite (se esiste) :) – Bozho
Perché c'è una richiesta per chiudere questo? Non è una domanda vera? –