recherche
MaisonJavajavaDidacticielExplication détaillée et exemples d'annotations @interface en Java

Cet article présente principalement les informations pertinentes sur l'annotation Java @interface et des exemples. Les amis qui en ont besoin peuvent s'y référer

Détails et exemples de l'annotation Java @interface

1 Introduction

En Java, définir des annotations est en fait similaire à définir une

Interface Il vous suffit d'ajouter un symbole @ avant l'interface. . C'est tout, c'est-à-dire @interface Zhujie{ }, ce qui indique que nous avons défini une annotation nommée @Zhujie. Chaque méthode dans l'annotation définit un élément du type annotation. Attention particulière : la déclaration de la méthode dans l'annotation ne doit pas contenir de paramètres ni lever d'exception ; la valeur de retour de la méthode est limitée aux types simples, String<.>, Class, emnus, Annotation et Array de ces types, mais les méthodes peuvent avoir une valeur par défaut. Les annotations sont équivalentes à une sorte de marque. Ajouter des annotations à un programme équivaut à ajouter une certaine marque au programme. Les compilateurs JAVAC, les outils de développement et d'autres programmes peuvent utiliser des mécanismes de réflexion pour comprendre nos classes et s'il y en a. sont des balises sur divers éléments, si la balise est trouvée, faites la chose correspondante. Par exemple, @Deprecated peut être marqué sur certaines classes, méthodes et champs dont l'utilisation n'est pas recommandée, et un avertissement sera émis si quelqu'un les utilise.

2 Méta-annotations

Annotation @Retention peut être utilisée pour modifier des annotations, qui sont des annotations d'annotations et sont appelées méta-annotations. L'annotation Retention a une valeur d'attribut

, qui est de type RetentionPolicy, et Enum RetentionPolicy est un type d'énumération, qui détermine comment l'annotation Retention doit être utilisée. Elle peut également être comprise comme utilisant Retention avec RententionPolicy. RetentionPolicy a 3 valeurs, à savoir : CLASS, RUNTIME et SOURCE.

    Une annotation modifiée avec @Retention(RetentionPolicy.CLASS), indiquant que les informations d'annotation sont conservées dans le fichier de classe (fichier de bytecode) lorsque le programme est compilé, mais ne seront pas virtualisées La machine lit lors de l'exécution ;
  1. annotations modifiées avec @Retention(RetentionPolicy.SOURCE), indiquant que les informations d'annotation seront supprimées par le compilateur et ne resteront pas dans le fichier de classe. les informations ne resteront que dans le fichier source ;
  2. Les annotations modifiées avec @Retention(RetentionPolicy.RUNTIME) indiquent que les informations annotées sont conservées dans le fichier de classe (fichier de bytecode), lorsque le programme est compilé, il sera conservé par la machine virtuelle au moment de l'exécution.

3

Exemple d'utilisationTout d'abord, créez une annotation simple :

Une fois l'annotation définie, nous pouvons l'utiliser pour faire des déclarations d'annotation. Les annotations sont un modificateur spécial qui peut être utilisé partout où d'autres modificateurs (par exemple, public,
public @interface Coder { 
   int personId(); 
   String company() default "[unassigned]";
}
static

ou final, etc.) sont utilisés. Par convention, les annotations doivent être placées avant les autres modificateurs. L'annotation est déclarée avec le symbole @ suivi du nom du type d'annotation, suivi de parenthèses. Les parenthèses répertorient les paires clé-valeur des éléments ou méthodes de l'annotation, où la valeur doit être <.>Constante. Par exemple : Les annotations sans éléments ni méthodes sont appelées types "marqueur", par exemple :

@coder(personId=20151120,company="YeePay")

Lorsqu'une annotation de marqueur est utilisée, les crochets qui la suivent peuvent être omis . Si l'annotation ne contient qu'un seul élément, le nom de cet élément doit être valeur, par exemple :

public @interface Coder {}

Si le nom de l'élément est valeur, alors lors de l'utilisation de cette annotation, à la fois le nom de l'élément et le signe égal peut être utilisé Omettre, par exemple :

public @interface Coder { 
   String value();
}

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP