Java-kommentarer (med eksempler)

I denne vejledning lærer vi, hvad kommentarer er, forskellige Java-kommentarer, og hvordan man bruger dem ved hjælp af eksempler.

Java-annoteringer er metadata (data om data) for vores programkildekode.

De giver yderligere information om programmet til compileren, men er ikke en del af selve programmet. Disse bemærkninger påvirker ikke udførelsen af ​​det kompilerede program.

Kommentarer starter med @. Dens syntaks er:

 @Bemærkningsnavn 

Lad os tage et eksempel på en @Overridekommentar.

De @Overrideannotation specificerer, at den metode, der er markeret med denne anmærkning tilsidesætter metoden til superklassen med den samme metode navn, returtype, og parameter listen.

Det er ikke obligatorisk at bruge, @Overridenår en metode tilsidesættes. Men hvis vi bruger det, giver compileren en fejl, hvis noget er galt (såsom forkert parametertype), mens metoden tilsidesættes.

Eksempel 1: @Override-annotationseksempel

 class Animal ( public void displayInfo() ( System.out.println("I am an animal."); ) ) class Dog extends Animal ( @Override public void displayInfo() ( System.out.println("I am a dog."); ) ) class Main ( public static void main(String() args) ( Dog d1 = new Dog(); d1.displayInfo(); ) ) 

Produktion

 Jeg er en hund. 

I dette eksempel er metoden til displayInfo()stede i både superklassen Animal og subclass Dog. Når denne metode kaldes, kaldes metoden til underklassen i stedet for metoden i superklassen.

Kommentarformater

Kommentarer kan også omfatte elementer (medlemmer / attributter / parametre).

1. Markørkommentarer

Markørkommentarer indeholder ikke medlemmer / elementer. Den bruges kun til markering af en erklæring.

Dens syntaks er:

 @Annotationsnavn () 

Da disse kommentarer ikke indeholder elementer, kan parenteser udelukkes. For eksempel,

 @Override 

2. Enkeltelementkommentarer

En enkelt elementkommentar indeholder kun et element.

Dens syntaks er:

 @ AnnotationName (elementName = "elementValue") 

Hvis der kun er et element, er det en konvention at navngive dette element som værdi.

 @ AnnotationName (værdi = "elementValue") 

I dette tilfælde kan elementnavnet også udelukkes. Elementnavnet er som standard værdi.

 @ AnnotationName ("elementValue") 

3. Kommentarer om flere elementer

Disse kommentarer indeholder flere elementer adskilt af kommaer.

Dens syntaks er:

 @ AnnotationName (element1 = "værdi1", element2 = "værdi2") 

Annotationsplacering

Enhver erklæring kan markeres med en kommentar ved at placere den over denne erklæring. Fra og med Java 8 kan kommentarer også placeres foran en type.

1. Ovenstående erklæringer

Som nævnt ovenfor kan Java-kommentarer placeres over klasse-, metode-, interface-, felt- og andre programelementdeklarationer.

Eksempel 2: @SuppressWarnings Kommentareksempel

 import java.util.*; class Main ( @SuppressWarnings("unchecked") static void wordsList() ( ArrayList wordList = new ArrayList(); // This causes an unchecked warning wordList.add("programiz"); System.out.println("Word list => " + wordList); ) public static void main(String args()) ( wordsList(); ) ) 

Produktion

 Ordliste => (programiz) 

Hvis ovenstående program er kompileret uden brug af @SuppressWarnings("unchecked")kommentaren, kompilerer kompilatoren stadig programmet, men det giver advarsler som:

Main.java bruger ukontrollerede eller usikre handlinger. Ordliste => (programiz)

Vi får advarslen

 Main.java bruger ukontrollerede eller usikre handlinger 

på grund af følgende udsagn.

 ArrayList wordList = new ArrayList(); 

This is because we haven't defined the generic type of the array list. We can fix this warning by specifying generics inside angle brackets .

 ArrayList wordList = new ArrayList(); 

2. Type annotations

Before Java 8, annotations could be applied to declarations only. Now, type annotations can be used as well. This means that we can place annotations wherever we use a type.

Constructor invocations

 new @Readonly ArrayList() 

Type definitions

 @NonNull String str; 

This declaration specifies non-null variable str of type String to avoid NullPointerException.

 @NonNull List newList; 

This declaration specifies a non-null list of type String.

 List newList; 

This declaration specifies a list of non-null values of type String.

Type casts

 newStr = (@NonNull String) str; 

extends and implements clause

 class Warning extends @Localized Message 

throws clause

 public String readMethod() throws @Localized IOException 

Type annotations enable Java code to be analyzed better and provide even stronger type checks.

Types of Annotations

1. Predefined annotations

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings
  4. @SafeVarargs
  5. @FunctionalInterface

2. Meta-annotations

  1. @Retention
  2. @Documented
  3. @Target
  4. @Inherited
  5. @Repeatable

3. Custom annotations

These annotation types are described in detail in the Java Annotation Types tutorial.

Use of Annotations

  • Compiler instructions - Annotations can be used for giving instructions to the compiler, detect errors or suppress warnings. The built-in annotations @Deprecated, @Override, @SuppressWarnings are used for these purposes.
  • Compile-time instructions - Compile-time instructions provided by these annotations help the software build tools to generate code, XML files and many more.
  • Kørselsvejledning - Nogle annoteringer kan defineres for at give instruktioner til programmet ved kørsel. Du får adgang til disse kommentarer ved hjælp af Java Reflection.

Interessante artikler...