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

Java 9의 JShell에서 따라야 하는 규칙은 무엇입니까?


자바 9 대화형 REPL(Read-Evaluate-Print-Loop ) 도구:JShell , 코드 조각을 실행하고 즉각적인 결과를 얻을 수 있습니다. 스니펫 표준 Java 구문을 사용할 수 있는 명령어입니다. 단일 표현식, 명령문 또는 선언을 나타냅니다.

다음은 JShell 도구를 사용하는 동안 따라야 하는 몇 가지 규칙입니다.

JShell 도구 규칙:

  • 스니펫은 가져오기 선언, 클래스 선언, 메서드 선언, 인터페이스 선언, 필드 선언, 문 및 기본 표현식과 같습니다.
  • 패키지 선언은 허용되지 않습니다. JShell 코드는 일시적인 JShell 패키지.
  • 액세스 수정자:공개 , 보호됨비공개 및 수식어:최종 정적 최상위에서는 허용되지 않습니다. 선언. 제공된 경우 경고로 무시됩니다.
  • 수정자:기본값 동기화됨 최상위 에서 전혀 허용하지 않음 선언. 그러나 중첩 컨텍스트에서는 허용할 수 있습니다.
  • 추상 수정자는 클래스에서만 허용됩니다.
  • 사용자 입력이 불완전한 경우(예:System.out만 입력 println 건너뛰기 부분), JShell 자동 완성 API는 더 많은 사용자 입력을 요청합니다.
  • 사용자 입력이 완료되었지만 세미콜론이 없는 경우 , JShell이 ​​자동으로 추가할 수 있습니다.


아래 샘플 코드에서 Employee 필요한 getter 메소드로 클래스를 만들고 new를 사용하여 인스턴스화 연산자.

스니펫

jshell> class Employee {
   ...>    private String firstName;
   ...>    private String lastName;
   ...>    private String designation;
   ...>    public Employee(String firstName, String lastName, String designation) {
   ...>       this.firstName = firstName;
   ...>       this.lastName = lastName;
   ...>       this.designation = designation;
   ...>    }
   ...>    public String getFirstName() {
   ...>       return firstName;
   ...>    }
   ...>    public String getLastName() {
   ...>       return lastName;
   ...>    }
   ...>    public String getDesignation() {
   ...>       return designation;
   ...>    }
   ...>    public String toString() {
   ...>       return "Name = " + firstName + ", " + lastName + " | " +
   ...>              "designation = " + designation;
   ...>    }
   ...> }
| created class Employee

jshell> Employee emp = new Employee("Sai", "Adithya", "Content Developer");
emp ==> Name = Sai, Adithya | designation = Content Developer