주석
1. 주석이란 무엇입니까? (주석 또는 의견)
주석, 정확한 번역은 주석이어야합니다. 주석과 완전히 다릅니다.
주석은 JDK5.0 이상 버전에서 도입 한 기능입니다. 클래스, 인터페이스 및 열거와 같은 수준이며 Java의 유형이 될 수 있습니다.
구문은 @,
의견은 소스 코드 클래스, 메소드, 속성 등의 프로그래머가 수행 한 일부 암기 또는 신속한 설명 (예 :이 방법이 사용되는 것)이며 사람들이 볼 수 있습니다.
주석은 Java 컴파일러가 이해할 수있는 부분이며 컴파일러가 볼 수 있습니다.
주석의 사용과 기능을 볼 수있는 간단한 예를 들어 보겠습니다.
@override는 일반적인 Java 내장 주석입니다. 그 기능은 코드를 컴파일 할 때 서브 클래스에 정의 된 메소드가 올바른지 확인하는 것입니다.
패키지 주석; 공개 초록 계급 동물 {public Abstract void eat (); } 패키지 주석; 공공 계급 고양이는 동물 확장 동물 {@override public void eat (string food) {}} 여기서 서브 클래스 고양이에서 EAT 메소드는 부모 클래스를 덮어 쓰는 메소드로 주석이 달리지 만 부모 클래스 메소드보다 매개 변수가 하나 더 있습니다.
Eclipse에서 편집하는 경우 적십자 프롬프트가 있습니다. (코드 컴파일이 전달되지 않습니다).
@override 주석을 제거하면 컴파일에 문제가 없지만 CAT의 Eat Method는 부모 클래스에서 상속되지 않은이 클래스의 새로운 방법입니다.
2. 일반적인 Java 내장 주석
@override를 포함하여 다른 일반적인 Java 내장 주석은 무엇입니까?
1. @deprecated
주석은 권장되지 않으며 방법과 클래스에 사용할 수 있습니다.
기본적 으로이 방법과 클래스는 포기되며 업그레이드 또는 성능과 같은 몇 가지 이유로 권장되지 않지만 호환성 또는 기타 이유로 유지해야합니다.
이 주석을 넣으십시오.
Java 자체 API에는 그러한 예가 많이 있습니다. 이 주석을 메소드에 넣으면 새로운 대체 방법이 어떤지 알 수 있습니다.
Eclipse에서 코드를 작성할 때이 주석을 추가하는 방법은 선언 및 전화에 모두 strikethroughs를 추가합니다.
2.@재정의
3.@suppresswarnings
경고를 무시하십시오.
코드에 변환 또는 기타 부분에 대한 경고가 있지만 이러한 경고를 무시하려면이 주석을 사용할 수 있습니다.
1) 감가 상각이 선호하지 않는 클래스 또는 메소드를 사용하는 경우 경고
2) 확인되지 않은 변환이 수행 될 때 확인되지 않은 경고
3) 케이스가 사용 된 후 브레이크 작업이 추가되지 않을 때 경고가 나타나면 프로그램이 다른 사례 진술을 계속 실행할 수 있습니다.
4) 잘못된 클래스 경로 또는 소스 파일 경로를 설정할 때 경로 경고
5) 직렬화 가능한 클래스에서 SerialversionUid 정의가 누락 된 경우 직렬 경고
6) 최종 절의 조항을 정상적으로 완료 할 수없는 경우 경고
7) 위의 모든 상황에 대한 모든 경고
3. 사용자 정의 주석
Java 자체가 제공하는 내장 주석 외에도 Java는 사용자 정의 주석을 사용자 정의하는 기능을 제공합니다.
주석을 정의하는 방법은 주석을 사용하여 주석을 정의하는 것입니다. 주석을 정의하는 데 사용되는 주석을 메타 주석이라고합니다.
주요 메타 주석은 다음과 같습니다. @Target; @보유; @documented; @Inherited
1. @Target은 주석이 사용되는 위치를 나타내며 클래스, 방법 또는 속성에 사용될 수 있습니다. 가능한 elemenettype 매개 변수는 다음과 같습니다.
ElemenetType. Constructor 생성자 선언
elemenettype.field 도메인 선언 (열거 인스턴스 포함)
elemenettype.local_variable 로컬 변수 선언
elemenettype.method 메소드 선언
elemenettype.package 패키지 명령문
elemenettype.parameter 매개 변수 선언
elemenettype.type 클래스, 인터페이스 (주석 유형 포함) 또는 열거 선언
2. @retention은 주석 정보를 저장할 수있는 수준을 나타냅니다. 옵션 퇴원 정책 파라미터는 다음과 같습니다.
resentpolicy.source 주석은 컴파일러에 의해 폐기됩니다
resentpolicy.class 주석은 클래스 파일에서 사용할 수 있지만 VM에서 폐기합니다.
RENTENTIONPOLICY.RUNTIME VM은 런타임 중에 주석을 유지하므로 주석 정보를 반사 메커니즘을 통해 읽을 수 있습니다.
3. @Documented, DOC를 생성 할 때이 주석을 포함 시킬지 여부는 Javadoc 에이 주석을 포함시킵니다.
4. @Inherited
하위 클래스가 부모 클래스에서 주석을 물려 받도록하자 간단한 정의 예를 참조하십시오.
패키지 주석; import java.lang.annotation.documented; import java.lang.annotation.elementtype; import java.lang.annotation.inherited; java.lang.annotation.trention import; java.lang.annotation.retentionpolicy import; Java.lang.annotation.target import; @TARGET (ElementType.Method) public @Interface myAnnotation {String value (); } @retention (retentionpolicy.source) @interface myAnnotation1 {} @retention (retentionpolicy.class) @interface myannotation2 {} @retention (rendentionpolicy.runtime) @interface myAnnotation3 {} @documented @terface myannotation4 {} @inherited @inherated @interation5 {interpace5 {}4. 예제 사용 :
패키지 주석; java.lang.annotation.annotation import; @myAnnotation3 public class testAnnotation {public static void main (string [] args) {// todo 자동 조성 메소드 스터브 주석 주석 = testAnnotation.class.getAnnotation (myAnnotation3.class); System.out.println (Annotation.toString ()); }} 결과 인쇄 : @annotation.myAnnotation3 ()
위의 예에서 myAnnotation1 및 myAnnotation2가 대체되면, 얻은 주석의 값이 비어 있는데, 이는 보유 정책의 차이입니다.
V. 주석의 역할
이 시점에서 우리는 주석의 역할을 요약 할 수 있습니다.
기본 사항은 대략 세 가지 범주로 나눌 수 있습니다.
1. 문서를 작성하십시오
2. 코드 분석
3. 컴파일 점검 그러나 오픈 소스 프레임 워크는 다음과 같은 더 많은 기능을 제공합니다.
최대 절전 모드, 주석 구성,
@Column ( "AA") 개인 문자열 XX;
이는 XML 구성과 유사하며 프로그램의 구성을 단순화하고 메타 데이터의 일부를 XML 파일에서 코드 자체로 이동시키고 한 곳에서 관리하고 유지 관리합니다.
내부적으로 어떻게 구현됩니까? - 위의 예와 유사한 Java 반사 메커니즘.
의견
주석과 주석은 하나의 단어에 지나지 않지만 사용법은 매우 다릅니다.
같은 문장이 사실이며, 주석은 컴파일러가 볼 수 있고 주석은 사람들이 볼 수있는 것입니다.
이를 기반으로 방법 :
1.이 방법의 기능을 입력 및 출력을 명확하게 설명하십시오. 저자 및 버전과 같은 자세한 정보를 추가 할 수 있습니다.
2. 아름다운 의견 배열 로이 두 가지 일을하십시오. 예를 들어:
/******************************************************************************************************************************************이름 : 사용법*설명 : xxx*arguments : n/a*return :*저자 : oscar999*버전 : v0.1 ****************************************************************************************************************************************************************************** 누군가
이것은 좋은 메모 인 것 같습니다 ^^.
그러나 Java 언어의 경우 의견에 더 많은 기능이 제공됩니다. 즉, Javadoc 함수를 사용하여 코드의 html 파일로 주석을 내보낼 수 있습니다.
코드가 공통점이 높은 코드 인 경우이 문서는 Java API와 유사한 API 참조 문서입니다.
따라서 이러한 문서를 생성하려면 표준화 된 문서를 작성하려면 Java가 정의한 주석 사양을 따라야합니다.
1. Java 클래스 방법에 대한 표준 의견
클래스 방법에 대한 주석부터 시작하겠습니다.
/*** 텍스트 줄을 읽으십시오. 라인 피드 ( '/n'), 캐리지 리턴 ( '/r') 또는 캐리지 리턴 *에 이어 라인 피드가 이어지는 선이 종료되는 것으로 간주됩니다. * * @param restelf1 true, 다음 '/n'은 건너 뜁니다. * 스트림의 끝에 도달 한 경우 라인 문화 문자 또는 null * * @see java.io.linenumberReader#readline () * * @exception ioException I/O 오류가 발생하는 경우 */
(위의 주석의 의미에주의를 기울이지 말고 정의의 스타일에 집중하십시오)
1. 먼저 상단을보십시오. 이 단락은이 방법에 대한 설명입니다.
첫 번째 기간 이전의 부분은 "텍스트 줄을 읽습니다." "메소드 요약"에 나타납니다.
2. @Param은 메소드의 입력 매개 변수를 정의하며 (여러 추가 할 수 있음) "메소드 세부 사항"에 나타납니다. (매개 변수 및 매개 변수 설명은 공백으로 분리되어 생성 된 문서에서 변환됩니다)
3. @리턴 값에 대한 설명
4. @참조 설명
5. 예외적으로 @Exception에 대한 설명은 아름답습니다. @param 및 @return과 같은 한 줄에 다른 유형의 태그를 한 줄로 표시 할 수 있습니다.
2. Java 클래스 표준 주석
클래스 주석 및 메소드 주석의 형식은 기본적으로 동일합니다. 차이점은 무엇입니까 :
1. 배치는 다릅니다. 클래스 주석은 클래스 정의 위에 배치되며 메소드 주석은 메소드 정의 위에 배치됩니다.
2. 클래스 주석 비교는 @version @author @since와 같은 태그를 사용합니다.
템플릿을보십시오
/** 지정된 파일에서 입력을 버퍼링합니다. 버퍼링이 없으면 read () 또는 readline ()의 각 * 호출로 인해 * 파일에서 바이트를 읽고 문자로 변환 한 다음 매우 고유 할 수 있습니다. * * 테스트 설명 * * <p> 텍스트 입력에 DatainputStreams를 사용하는 프로그램은 각 DatainputStream을 적절한 완충 리더로 교체하여 로컬로 현지화 할 수 있습니다. * * @ @see filereader * @inputStreamReader * * @version 0.1, 11/20/13 * @Author Oscar999 * @since jdk1.5 */
DOC에 표시된 효과는 다음과 같습니다.
마찬가지로 설명의 첫 번째 문장은 "클래스"에 나타납니다.
수업의 세부 사항은 다음과 같이 표시됩니다.
설명에서 <p>의 사용은 주목할 가치가 있습니다. <p>가 추가되지 않으면 Java 코드에 새 라인이 있는지 여부에 관계없이 생성 된 문서는 새롭지 않습니다. <p>가 추가되면 DOC에 새로운 라인이 나타납니다.
3. 보충
추가하려면 Javadoc을 생성하는 방법 :
1. 명명 된 줄 방법 : javadoc + 매개 변수
2. Eclipse IDE를 사용하여 Eclipse IDE에서 소스 파일 또는 프로젝트를 마우스 오른쪽 버튼으로 클릭하면 내보내기를 선택하십시오 --->.
Java-> javadoc을 생성 할 수 있습니다.