JShell main() 없이 Java 및 Java API를 빠르게 프로토타이핑, 디버깅 및 학습할 수 있는 대화형 쉘을 제공할 수 있습니다. 메소드를 실행하거나 실행하기 전에 코드를 컴파일해야 합니다.
클래스 선언:
자바 언어로 코드를 작성한 것처럼 클래스를 선언할 수 있습니다. JShell은 클래스가 완료될 때 이를 감지할 수 있습니다.
아래 코드 스니펫에서 Employee 클래스를 선언할 수 있습니다. 두 개의 매개변수와 하나의 메소드로.
C:\Users\User>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro
jshell> class Employee {
...> String empName;
...> int age;
...>
...> public void empData() {
...> System.out.println("Employee Name is: " + empName);
...> }
...> }
| created class Employee
아래 코드 스니펫에서 Employee 에 대한 개체를 만들 수 있습니다. class 및 값을 empName, age로 설정합니다.
jshell> Employee emp = new Employee() emp ==> Employee@73846619 jshell> emp.empName = "Adithya" $3 ==> "Adithya" jshell> emp.age = 20 $4 ==> 20 jshell> emp.empData() Employee Name is: Adithya
인터페이스 선언:
인터페이스 도 선언할 수 있습니다. 클래스 선언과 유사합니다. 인터페이스를 선언하면 JShell은 선언이 완료되는 시점을 감지합니다.
아래 코드 스니펫에서 인터페이스 동물 을 선언할 수 있습니다. 세 가지 추상적인 방법으로.
jshell> interface Animal {
...> public void eat();
...> public void move();
...> public void sleep();
...> }
| created interface Animal
아래 코드 조각에서 Cat 클래스가 Animal 인터페이스에서 정의한 추상 메서드를 재정의하지 않는다는 오류가 발생했습니다. Java 언어에서 인터페이스 개념을 구현하는 클래스와 유사합니다.
jshell> class Cat implements Animal {
...> }
| Error:
| Cat is not abstract and does not override abstract method sleep() in Animal
| class Cat implements Animal {
| ^----------------------------