Se Object
è la madre di tutte le classi nella gerarchia, come può implementare un metodo restituendo un oggetto di una classe figlio (ad esempio, toString
restituisce un oggetto String
)?In che modo gli oggetti Oggetto restituiscono le stringhe? (Java)
risposta
Questo è un punto interessante: La classe Object
conosce una delle sue sottoclassi, cioè String
(in particolare, di dichiarare e implementare il metodo toString()
).
Parte delle specifiche del linguaggio Java è che tutte le classi sono sottoclassi implicite di Object. Anche se tecnicamente è "design scadente" perché una classe si riferisca a una delle sue sottoclassi, penso che sia un "caso limite" e non qualcosa di cui preoccuparsi.
Questo non è un problema finché esiste la classe figlio. Ad esempio, la seguente è valido:
A.java:
public class A {
B b;
}
B.java:
public class B extends A {
}
perché c'è un'implementazione predefinita toString
su Object
che rende sicuro che venga restituita un'istanza String
. Poiché ogni classe è un'istanza di Object
, l'implementazione predefinita è sempre gratuita, sebbene sia possibile e necessario implementare toString
nelle sottoclassi.
Non c'è nulla che impedisca metodi in qualsiasi classe restituendo istanze di un'altra classe. Si può sempre fare
return new SomethingElse()
dove SomethingElse
è un'altra classe.
- 1. In che modo Java gestisce gli oggetti stringa in memoria?
- 2. In che modo db4o istanzia gli oggetti?
- 3. Std temporaneo: stringhe che restituiscono spazzatura
- 4. In che modo HashMap.values () e HashMap.keySet() restituiscono valori e chiavi?
- 5. In che modo Java implementa il pooling di stringhe?
- 6. Come dovrei copiare le stringhe in Java?
- 7. In che modo gli oggetti Java sono disposti in memoria su Android?
- 8. Come denominare dinamicamente gli oggetti in Java?
- 9. Qualche API o librerie JavaScript standard restituiscono le stringhe come oggetti String?
- 10. Convalida gli oggetti valore (ereditarietà) in java
- 11. In che modo i programmatori funzionali testano le funzioni che restituiscono un'unità?
- 12. In che modo jQuery crea oggetti-matrice?
- 13. In che modo Monotouch gestisce le risorse (stringhe, immagini, ecc.)?
- 14. In che modo tutti stanno memorizzando le stringhe di connessione?
- 15. In che modo Perl confronta le stringhe sotto il cofano?
- 16. In che modo vengono decifrati gli URL in Java?
- 17. Pool di oggetti per wrapper e stringhe Java
- 18. Le stringhe C++ sono modificabili con le stringhe Java UNLIKE?
- 19. In che modo le chiusure Scala vengono trasformate in oggetti Java?
- 20. In che modo LinkedList funziona internamente in Java?
- 21. In che modo PriorityQueue in Java ordina le voci duplicate?
- 22. Cosa sono gli oggetti mock in Java?
- 23. Archiviare gli oggetti in Android
- 24. In che modo quasi tutto in Javascript è un oggetto?
- 25. In che modo gli oggetti xmlhttprequest vengono creati, uniti e distrutti in Javascript
- 26. Stringhe mutabili in Java
- 27. test per gli oggetti JSON nulli in Java/Android
- 28. Distruggere gli oggetti in Ember.js
- 29. Trasformare stringhe JSON in oggetti con metodi
- 30. Gli oggetti jQuery sono immutabili?
+1 "L'oggetto è la madre di tutte le classi" - lol – Bohemian