Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 JShell의 외부 선언에 대한 규칙은 무엇입니까?


JShell 명령줄 도구입니다. 자바 9에 도입됨 , Java의 첫 번째 공식 REPL 사용자의 입력을 읽고 평가하고 결과를 인쇄하는 간단한 프로그래밍 환경을 만드는 도구입니다.

클래스 외부의 선언 또는 인터페이스 (및 자체적으로 클래스 및 인터페이스 선언)은 다음 규칙에 따라 생성되었습니다.

외부 선언 규칙:

1) 공개, 보호됨과 같은 액세스 수정자 , 및 비공개 무시할 수 있습니다. 모든 선언 스니펫은 다른 모든 스니펫에서 액세스할 수 있습니다.

jshell> private int i = 10;
i ==> 10

jshell> System.out.println(i);
10

2) 수정자 최종 무시할 수 있습니다. 변경 및 상속이 허용됩니다.

jshell> final class A {void m() {} }
|   Warning:
|   Modifier 'final' not permitted in top-level declarations, ignored
|   final class A {void m() {} }
|   ^---^
|   created class A

3) 수정자 정적 컨테이너 클래스가 없기 때문에 무시할 수 있습니다.

jshell> static char letter = 'A;
|   Warning:
|   Modifier 'static' not permitted in top-level declarations, ignored
|   static char letter = 'A';
|   ^----^
letter ==> 'A'

4) 수정자의 기본값 동기화됨 허용되지 않습니다.

jshell> synchronized void method() {}
|   Error:
|   Modifier 'synchronized' not permitted in top-level declarations
|   synchronized void method() {}
|   ^----------^

5) T he 수식어 추상 수업에서만 허용됩니다.

jshell> abstract void method();
|   Error:
|   Modifier 'abstract' not permitted in top-level declarations
|   abstract void method();
|   ^------^