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