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 { | ^----------------------------