Des Classes qui étendent Game aurait toujours besoin d'implémenter toutes les méthodes abstraites, mais ils seraient incapables de s'étendre playOneGame parce qu'elle est définitive.
Une classe abstraite peut aussi avoir des méthodes qui ne sont ni abstraites ni définitif, juste des méthodes régulières. Ces méthodes doivent être mises en œuvre dans la classe abstraite, mais c'est à l'opérateur de décider d'étendre les classes ont besoin de les remplacer ou non.
excellent! Upvote pour mettre en place la méthode de modèle de modèle Mais wats l'utilisation de l'informatique le Lézard: excellente réponse! mais j'ai une question: que faire si le playOneGame() la méthode a été normale (non définitif). c'était la même chose? quels sont les avantages de l'utilisation finale ici, au lieu de ne pas utiliser n'importe quel mot clé? Merci C'est déjà expliqué dans la réponse. Merci mais je n'ai pas trouvé quels sont les avantages de l'utilisation du mot-clé final de ne pas utiliser n'importe quel mot clé.
Astuce: lancez simplement votre favori IDE (eclipse, netbeans, etc) et de l'essayer. Il va se plaindre si ça ne fonctionne pas.
-1. Le point de la SORTE n'est pas de dire aux gens "essayez-le vous-même". C'est un gaspillage d'efforts et de temps, si tout le monde qui fait une recherche sur Internet pour cette question est de lancer une IDE et l'essayer par eux-mêmes quand quelqu'un peut fournir une réponse complète et à la question: stackoverflow.com/questions/1299398/1299434#1299434 Oui, votre droit et j'accepte les downvote, mais c'est keyur troisième question triviale sur les classes abstraites en ligne j'ai donc fait une demande de dispense. J'ai manqué keyur avait demandé à de nombreuses questions sur le même sujet, et j'en avais assez vu "pourquoi n'essayez-vous pas vous-mêmes" des réponses et des commentaires, ce matin, que j'ai réagi un peu trop vite avec le downvote. J'ai supprimé (cela signifie que vous obtenez de votre représentant à l'arrière?) étant donné que votre réponse n'est pas incorrecte. ceux qui recherchent différents aspects, des raisons et des explications sur l'utilisation finale des méthodes dans les classes abstraites par exemple, par l'intermédiaire de Google ne vous inquiétez pas vraiment keyur autres questions (moi non plus), afin de donner inutilement sarcastique de réponse juste, pour "punir" les OP (en se référant à d'autres questions stupides) n'est pas un bon point. Ces "essayez-le vous-même"-les réponses n'aide pas du tout. Penser aussi que les gens qui veulent juste connaître la réponse (rapide) ou n'ont pas l'occasion d'essayer en ce moment (assis sur le bus, à l'aide d'un téléphone cellulaire). BTW, cette question n'est pas de "trivial". -1, désolé. avez-vous un look à la date de cette question? C'est l'âge de quatre ans, keyur a disparu (en gris) et aurait été fermé immédiatement si il est apparu ces jours 🙂 jetez un oeil à mon commentaire à la première downvote, qui explique tout, pour cette question 😉
Oui, il peut y avoir une "finale" méthodes "abstrait" de la classe.
Mais, de toute "abstrait" de la méthode dans la classe ne peut pas être déclarée final.
Il donnera "illégal combinaison de modificateurs: l'abstrait et le final" erreur.
publicabstractfinalvoid show();
illegal combination of modifiers:abstract and final
Voici l'exemple de la mise en œuvre.
abstractclassSian//ABSTRACT CLASS{publicfinalvoid show()//FINAL METHOD{System.out.println("Yes");}publicvoid display(){System.out.println("Overriding");}publicabstractvoid success();}classIdeoneextendsSian//INHERTING ABSTRACT CLASS{publicvoid display(){System.out.println("Overridden");}publicvoid success()//OVERRIDING THE ABSTRACT METHOD{System.out.println("Success overriding");}publicstaticvoid main (String[] args)throws java.lang.Exception{Ideone id =newIdeone();//OBJECT OF SUBCLASS
id.show();//CALLING FINAL METHOD
id.display();//OVERRIDDEN METHODS
id.success();}}
Il est bon de devenir paresseux et donner la réponse en oui et non, uniquement, lorsque l'utilisateur lui-même est aussi trop paresseux. Je pense que votre réponse mérite pour l'un comme de mon côté. Heh. 🙂
Oui, ces méthodes ne peuvent pas être redéfinies dans les classes filles. Un exemple de cela est la méthode de modèle de modèle...
Vous devriez donner plus d'explication. Modèle de méthode n'implique pas la finale, mais il a certainement rend la vie plus simple. Ok disons final est fortement recommandé 🙂 je considère cela comme une erreur de ne pas utiliser de finale de la méthode de modèle de...
Oui. Le abstract modificateur permet d'omettre certains de la mise en œuvre d'une classe (c'est à dire quelques abstract méthodes), mais n'impose aucune restriction sur vous.
Dans le Résumé des méthodes de la Classe peut être définie ou non. Si nous prolongeons la classe abstraite alors seulement elle a un sens, donc, ce que jamais nous déclarer ou définis dans l'Abstrait appel, il sera plus rouler dans la sous-classe. Nous pouvons donc déclarer une méthode comme final dans la classe Abstraite, et il sera plus monté dans la sous-classe.
Je vois ce que vous êtes en train de dire ici, mais merci de modifier votre réponse car c'est TRÈS flou maintenant.
Supposons que je veux conçu classe qui a un peu de mise en oeuvre, mais je ne veux pas d'autres(sous-classes) à mettre en œuvre mais d'autres méthodes, alors dans ce cas, nous avons besoin d'une finale de la méthode mise en œuvre et le choix évident classe abstraite.
Sûr. Jetez un oeil à la Méthode de modèle de modèle pour un exemple.
Des Classes qui étendent
Game
aurait toujours besoin d'implémenter toutes les méthodes abstraites, mais ils seraient incapables de s'étendreplayOneGame
parce qu'elle est définitive.Une classe abstraite peut aussi avoir des méthodes qui ne sont ni abstraites ni définitif, juste des méthodes régulières. Ces méthodes doivent être mises en œuvre dans la classe abstraite, mais c'est à l'opérateur de décider d'étendre les classes ont besoin de les remplacer ou non.
Mais wats l'utilisation de l'informatique
le Lézard: excellente réponse! mais j'ai une question: que faire si le playOneGame() la méthode a été normale (non définitif). c'était la même chose? quels sont les avantages de l'utilisation finale ici, au lieu de ne pas utiliser n'importe quel mot clé? Merci
C'est déjà expliqué dans la réponse.
Merci mais je n'ai pas trouvé quels sont les avantages de l'utilisation du mot-clé final de ne pas utiliser n'importe quel mot clé.
OriginalL'auteur Bill the Lizard
Oui, il peut. Mais au final, la méthode ne peut pas être abstraite elle-même (d'autres non-finale méthodes dans la même classe peuvent être).
OriginalL'auteur Mnementh
Oui.
Astuce: lancez simplement votre favori IDE (eclipse, netbeans, etc) et de l'essayer. Il va se plaindre si ça ne fonctionne pas.
Oui, votre droit et j'accepte les downvote, mais c'est keyur troisième question triviale sur les classes abstraites en ligne j'ai donc fait une demande de dispense.
J'ai manqué keyur avait demandé à de nombreuses questions sur le même sujet, et j'en avais assez vu "pourquoi n'essayez-vous pas vous-mêmes" des réponses et des commentaires, ce matin, que j'ai réagi un peu trop vite avec le downvote. J'ai supprimé (cela signifie que vous obtenez de votre représentant à l'arrière?) étant donné que votre réponse n'est pas incorrecte.
ceux qui recherchent différents aspects, des raisons et des explications sur l'utilisation finale des méthodes dans les classes abstraites par exemple, par l'intermédiaire de Google ne vous inquiétez pas vraiment keyur autres questions (moi non plus), afin de donner inutilement sarcastique de réponse juste, pour "punir" les OP (en se référant à d'autres questions stupides) n'est pas un bon point. Ces "essayez-le vous-même"-les réponses n'aide pas du tout. Penser aussi que les gens qui veulent juste connaître la réponse (rapide) ou n'ont pas l'occasion d'essayer en ce moment (assis sur le bus, à l'aide d'un téléphone cellulaire). BTW, cette question n'est pas de "trivial". -1, désolé.
avez-vous un look à la date de cette question? C'est l'âge de quatre ans, keyur a disparu (en gris) et aurait été fermé immédiatement si il est apparu ces jours 🙂 jetez un oeil à mon commentaire à la première downvote, qui explique tout, pour cette question 😉
OriginalL'auteur Andreas_D
Oui, il peut y avoir une "finale" méthodes "abstrait" de la classe.
Mais, de toute "abstrait" de la méthode dans la classe ne peut pas être déclarée final.
Il donnera "illégal combinaison de modificateurs: l'abstrait et le final" erreur.
Voici l'exemple de la mise en œuvre.
De SORTIE:-
Ici est la ideone lien:- http://ideone.com/G1UBR5
OriginalL'auteur sian
Oui.
Heh. 🙂
OriginalL'auteur Bombe
Oui, ces méthodes ne peuvent pas être redéfinies dans les classes filles. Un exemple de cela est la méthode de modèle de modèle...
Ok disons final est fortement recommandé 🙂 je considère cela comme une erreur de ne pas utiliser de finale de la méthode de modèle de...
OriginalL'auteur pgras
Oui, il peut ... besoin de plus de caractères
OriginalL'auteur Adamski
Bien sûr, cela signifie que vous pouvez sous-classe, mais vous ne pouvez pas remplacer cette méthode.
OriginalL'auteur omerkudat
Oui. Le
abstract
modificateur permet d'omettre certains de la mise en œuvre d'une classe (c'est à dire quelquesabstract
méthodes), mais n'impose aucune restriction sur vous.OriginalL'auteur jjujuma
Dans le Résumé des méthodes de la Classe peut être définie ou non. Si nous prolongeons la classe abstraite alors seulement elle a un sens, donc, ce que jamais nous déclarer ou définis dans l'Abstrait appel, il sera plus rouler dans la sous-classe. Nous pouvons donc déclarer une méthode comme final dans la classe Abstraite, et il sera plus monté dans la sous-classe.
OriginalL'auteur Purushotham mekalacheruvu
Supposons que je veux conçu classe qui a un peu de mise en oeuvre, mais je ne veux pas d'autres(sous-classes) à mettre en œuvre mais d'autres méthodes, alors dans ce cas, nous avons besoin d'une finale de la méthode mise en œuvre et le choix évident classe abstraite.
OriginalL'auteur Krishna Achary