산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 주석

자바 주석

이 자습서에서는 주석이 무엇인지, 다양한 Java 주석 및 예제를 통해 주석을 사용하는 방법을 배웁니다.

Java 주석은 프로그램 소스 코드에 대한 메타데이터(데이터에 대한 데이터)입니다.

프로그램에 대한 추가 정보를 컴파일러에 제공하지만 프로그램 자체의 일부는 아닙니다. 이러한 주석은 컴파일된 프로그램의 실행에 영향을 미치지 않습니다.

주석은 @으로 시작합니다. . 구문은 다음과 같습니다.

@AnnotationName
<시간>

@Override의 예를 들어보겠습니다. 주석.

@Override 주석은 이 주석으로 표시된 메소드가 동일한 메소드 이름, 반환 유형 및 매개변수 목록을 가진 수퍼클래스의 메소드를 재정의함을 지정합니다.

@Override을 반드시 사용해야 하는 것은 아닙니다. 메서드를 재정의할 때. 그러나 그것을 사용하면 메서드를 재정의하는 동안 잘못된 매개 변수 유형과 같은 문제가 있는 경우 컴파일러에서 오류가 발생합니다.

예시 1:@Override 주석 예

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();
  }
}

출력

I am a dog.

이 예에서 메소드 displayInfo() 두 슈퍼클래스 Animal 모두에 존재합니다. 및 하위 클래스 . 이 메소드가 호출되면 상위 클래스의 메소드 대신 하위 클래스의 메소드가 호출됩니다.

<시간>

주석 형식

주석에는 요소(구성원/속성/매개변수)도 포함될 수 있습니다.

1. 마커 주석

마커 주석에는 멤버/요소가 포함되어 있지 않습니다. 선언을 표시하는 데만 사용됩니다.

구문은 다음과 같습니다.

@AnnotationName()

이러한 주석에는 요소가 포함되어 있지 않으므로 괄호를 제외할 수 있습니다. 예를 들어,

@Override
<시간>

2. 단일 요소 주석

단일 요소 주석에는 하나의 요소만 포함됩니다.

구문은 다음과 같습니다.

@AnnotationName(elementName = "elementValue")

요소가 하나만 있는 경우 해당 요소의 이름을 value로 지정하는 것이 관례입니다. .

@AnnotationName(value = "elementValue")

이 경우 요소 이름도 제외할 수 있습니다. 요소 이름은 이 됩니다. 기본적으로.

@AnnotationName("elementValue")
<시간>

3. 다중 요소 주석

이러한 주석에는 쉼표로 구분된 여러 요소가 포함되어 있습니다.

구문은 다음과 같습니다.

@AnnotationName(element1 = "value1", element2 = "value2")
<시간>

주석 배치

모든 선언은 해당 선언 위에 배치하여 주석으로 표시할 수 있습니다. Java 8부터는 주석을 유형 앞에 배치할 수도 있습니다.

1. 위의 선언

위에서 언급했듯이 Java 주석은 클래스, 메소드, 인터페이스, 필드 및 기타 프로그램 요소 선언 위에 배치될 수 있습니다.

예시 2:@SuppressWarnings 주석 예

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();
  }
}

출력

Word list => [programiz]

위의 프로그램이 @SuppressWarnings("unchecked")을 사용하지 않고 컴파일된 경우 주석, 컴파일러는 여전히 프로그램을 컴파일하지만 다음과 같은 경고를 표시합니다.

Main.java uses unchecked or unsafe operations.
Word list => [programiz]

경고를 받고 있습니다

Main.java uses unchecked or unsafe operations

다음 진술 때문입니다.

ArrayList wordList = new ArrayList<>();

이는 배열 목록의 일반 유형을 정의하지 않았기 때문입니다. 꺾쇠 괄호 <> 안에 제네릭을 지정하여 이 경고를 수정할 수 있습니다. .

ArrayList<String> wordList = new ArrayList<>();
<시간>

2. 유형 주석

Java 8 이전에는 주석을 선언에만 적용할 수 있었습니다. 이제 유형 주석도 사용할 수 있습니다. 즉, 유형을 사용할 때마다 주석을 배치할 수 있습니다.

생성자 호출

new @Readonly ArrayList<>()

유형 정의

@NonNull String str;

이 선언은 null이 아닌 변수 str을 지정합니다. String 유형 NullPointerException를 피하기 위해 .

@NonNull List<String> newList;

이 선언은 String 유형의 null이 아닌 목록을 지정합니다. .

List<@NonNull String> newList;

이 선언은 String 유형의 null이 아닌 값 목록을 지정합니다. .

유형 캐스트 ​​

newStr = (@NonNull String) str;

조항 확장 및 구현

class Warning extends @Localized Message

throws 절

public String readMethod() throws @Localized IOException

유형 주석을 사용하면 Java 코드를 더 잘 분석하고 더 강력한 유형 검사를 제공할 수 있습니다.

<시간>

주석 유형

1. 사전 정의된 주석

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

2. 메타 주석

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

3. 맞춤 특수효과

이러한 주석 유형은 Java 주석 유형 자습서에 자세히 설명되어 있습니다.

<시간>

주석 사용


java

  1. 자바 연산자
  2. 자바 주석
  3. 자바 if...else 문
  4. 자바 for-each 루프
  5. 자바 문자열
  6. 자바 인터페이스
  7. 자바 익명 클래스
  8. 자바 리소스 사용
  9. 자바 어설션
  10. 자바 벡터