Maison  >  Article  >  Java  >  Quelles classes en Java ne peuvent pas être héritées ?

Quelles classes en Java ne peuvent pas être héritées ?

青灯夜游
青灯夜游original
2019-12-31 16:31:164855parcourir

Quelles classes en Java ne peuvent pas être héritées ?

En Java, tant qu'il s'agit d'une classe définie comme final, ou d'une classe modifiée par final, elle ne peut pas être héritée.

Parce que les développeurs de jdk pensent que certaines des classes les plus basiques ne sont pas nécessairement ouvertes aux développeurs. Si les utilisateurs font des erreurs lors de l'héritage, cela risque de causer de nombreux problèmes. Afin d'empêcher les utilisateurs de créer des extensions correspondantes aux classes de base, cela reflète également le principe d'ouverture et de fermeture dans le processus de conception Java, et ces classes sont finalement conçues pour être définitives.

Voici la règle de final :

Lorsque vous utilisez final sur une classe, une classe finale ne peut être héritée par personne, ce qui signifie que cette classe ne peut être héritée par personne. Un arbre d'héritage est une classe feuille, et la conception de cette classe est considérée comme parfaite sans

modification ou extension. Pour les membres des classes finales, vous pouvez les définir comme définitifs ou non. Quant aux méthodes, la classe à laquelle elles appartiennent étant définitive, elles le deviennent naturellement. Vous pouvez également ajouter explicitement un final à la méthode dans la classe final

, mais cela n'a évidemment aucun sens.

Les classes courantes en Java qui ne peuvent pas être héritées sont les suivantes :

String,

StringBuffer,

StringBuilder ,

Types de base de classes d'emballage telles que Double, Integer, Long

et ainsi de suite.

Regardons comment cette classe String est définie :

Quelles classes en Java ne peuvent pas être héritées ?

Ce qui précède est comment cette classe String est définie, nous pouvons clairement voir Voir un dernier modificateur !

Si vous dites que la classe entière est finale (préfixez-la avec le mot-clé final avant sa définition), cela signifie que vous ne voulez pas hériter de cette classe, ou ne permettre à personne d'autre d'effectuer cette action . En d'autres termes, pour une raison ou une autre, notre classe n'a absolument besoin d'aucun changement ; ou pour des raisons de sécurité, nous ne souhaitons pas sous-classer (traitement des sous-classes)

Apprentissage recommandé :Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn