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

Java 9의 JShell에서 클래스와 인터페이스를 선언하는 방법은 무엇입니까?


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