Je ne suis pas si sûr de ce que cela impliquerait et mon manuel est en train de danser autour de la réponse.Une classe abstraite peut-elle être utilisée comme type de référence?
Répondre
Oui, vous pouvez:
abstract class AbstractClass {
}
class DeclaredClass extends AbstractClass {
}
AbstractClass c = new DeclaredClass();
Ce qui précède est tout à fait valable.
Ce que je comprends est,
List a = new ArrayList();
Ici List
est une référence à un objet ArrayList
. Donc, la question signifie est-ce possible dans le cas de la classe abstraite?
La liste est une interface, soit dit en passant. –
mon mauvais ... mauvais exemple ... mais toujours une référence ... –
Vous pouvez instancier une classe abstraite de 2 façons:
abstract class AbstractClass {}
1. L'extension de la classe abstraite:
class ConcreteClass extends AbstractClass {}
AbstractClass c = new ConcreteClass();
2. Utiliser Anonyme Classe:
AbstractClass c = new AbstractClass(){};
- 1. référence abstraite de classe
- 2. La classe de contrat doit être une classe abstraite
- 3. Référence de la classe héritée de la classe abstraite
- 4. Type de référence non transmis comme référence
- 5. Pourquoi une classe abstraite devrait-elle implémenter une méthode abstraite d'une classe de base abstraite?
- 6. Quelle devrait être l'accessibilité des champs dans une classe abstraite?
- 7. Forcer un type de valeur (générique) à être une référence
- 8. 'System.Web.UI.Control.Controls' est une 'propriété' mais est utilisée comme un 'type'
- 9. Spécification du type de retour d'une méthode abstraite d'une classe de base selon une sous classe
- 10. Dériver la classe abstraite de la classe non abstraite
- 11. BareMessage = "Impossible de créer une classe abstraite."
- 12. Jmockit exemple classe abstraite
- 13. Obtention du type de classe abstraite à partir duquel une classe dérive
- 14. pure classe abstraite et interface
- 15. Désérialiser une classe abstraite dans Gson
- 16. Une variable de référence dans PHP peut-elle être utilisée comme alias pour les noms de variables longs?
- 17. Pourquoi ma classe de nid est-elle considérée comme abstraite?
- 18. La classe de domaine ibatis doit-elle être utilisée comme javabean?
- 19. classe virtuelle en classe abstraite
- 20. Méthode vide dans une classe abstraite
- 21. Classe abstraite et constructeur
- 22. Trouver quelle classe une classe abstraite est liée aux Ninject
- 23. Quand j'ai une classe abstraite, puis-je laisser une autre classe abstraite l'étendre?
- 24. Question de base sur le refactoring dans une classe abstraite
- 25. Passer un type générique (enfant de la classe abstraite) à une fonction
- 26. méthode abstraite dans une classe virtuelle
- 27. Propriété abstraite avec le type déclaré dans la classe dérivée?
- 28. L'identification d'une classe qui étend une classe abstraite
- 29. Utilisation d'une classe abstraite comme contrat dans le framework de plugins
- 30. Améliorer cette classe abstraite générique
Je pensais que vous n'étiez pas autorisé à stantiate une classe abstraite, ou suis-je en train de lire incorrectement la dernière ligne? – nogamo
@nogame Regardez de plus près. La classe déclarée est instanciée et non la classe abstraite. – helpermethod
Oh, donc si c'était DeclaredClass c = new AbstractClass(); alors ce serait invalide? – nogamo