Le modificateur abstract
peut-il apparaître avant une classe, une méthode ou une variable?Modificateur abstrait Java
Répondre
Résumé peut être mis dans une déclaration de classe, comme dans
public abstract class Test{
//class implementation
}
. ..et dans une déclaration de méthode, comme dans
public abstract void test();
Sur l'argument: http://java.sun.com/docs/books/tutorial/java/IandI/abstract.html
Il peut apparaître avant les classes (pour éviter l'instanciation et leur permettre d'avoir des méthodes abstraites) et avant les méthodes (pour indiquer que la méthode n'est pas implémentée dans cette classe, mais toute sous-classe non abstraite doit l'implémenter).
Le modificateur abstrait est placé avant les classes ou les méthodes. Pour une classe, cela signifie qu'elle ne peut pas être instanciée directement, mais doit être sous-classée. Pour une méthode, cela signifie qu'elle n'a pas d'implémentation dans la classe, mais qu'elle doit être implémentée dans une sous-classe. Il ne peut pas être appliqué aux variables.
Une classe et une méthode. Le modificateur abstrait est utilisé pour indiquer qu'une classe/méthode est censée être surchargée. À titre de guide:
class - Contains unimplemented methods and cannot be instantiated.
method - No body, only signature. The enclosing class is abstract
Hope that helps.
Le Modifiers Matrix répond à votre question:
- classe: oui méthode
- : oui
- variable: pas
- 1. Modificateur Etat clé
- 2. Comment augmenter le modificateur d'accès d'une propriété
- 3. MsgBox sans modificateur, piégeage d'erreur, .Find
- 4. Java: Modificateur d'accès plus restrictif que 'protected', moins restrictif que 'private'?
- 5. Quelle est la différence entre RTN concret et RTN abstrait?
- 6. Un pointeur vers la classe de base du modèle abstrait?
- 7. en utilisant le mot-clé abstrait dans l'interface
- 8. Obtention de l'état des touches du modificateur Compact Framework
- 9. En utilisant le modificateur variable par défaut Smarty avec gettext
- 10. Quand utiliseriez-vous le modificateur d'accès "protected internal"?
- 11. Pourquoi preg_replace me renvoie une erreur "modificateur inconnu"?
- 12. Comment détecter un modificateur de clavier dans un bookmarklet?
- 13. L'événement non-abstrait défini dans la classe abstraite n'apparaîtra pas dans Designer pour les classes dérivées
- 14. Comment accéder à HttpContext à partir d'un contrôleur de base abstrait?
- 15. CoreData récupère une requête via un objet géré abstrait vers un objet géré concret
- 16. erreur ASP.NET compilateur doit déclarer un corps parce qu'il est pas marqué abstrait
- 17. Stockage abstrait de données pour une classe basée sur l'environnement (web/windows)
- 18. Le passage d'une classe dérivée à une méthode de service Web qui prend un type abstrait
- 19. Obtenir l'entité de la table à l'aide de la réflexion de type abstrait
- 20. Quel est le point du modificateur "static new" pour une fonction?
- 21. Est-il possible d'accéder à un autre package sans le modificateur public?
- 22. Plugin Eclipse Perforce et par défaut le modificateur de type de fichier afin que la version soit mise à jour
- 23. Java, Java VM, Java Platform,
- 24. Impossible d'utiliser une classe Meta héritée du modèle Django pour configurer un champ défini dans un modèle abstrait hérité
- 25. Propriété .NET générant "doit déclarer un corps car il n'est pas marqué abstrait ou externe" erreur de compilation
- 26. Où est le code source du compilateur Java?
- 27. Dans Specman, comment savoir si une référence à une unité a le modificateur do-not-generate devant elle?
- 28. Existe-t-il un modificateur d'accès permettant aux classes héritées de modifier les membres de la classe parente dans C#?
- 29. Problème d'exécution de java JAVA
- 30. Débutant: modèle d'usine en Java
Une méthode abstraite ne peut pas avoir un corps, des classes concrètes qui étendent la classe de base abstraite * doit * avoir une mise en œuvre de l'abstrait méthode. L'exemple ci-dessus aurait dû être: public abstract void test(); – RKitson
Oups ... vous avez raison. Ma faute. –