如何在Java 9的JShell中声明类和接口?
JShell 可以提供一个交互式外壳,用于快速原型设计,调试和学习Java和JavaAPI,而无需main()方法或在执行之前编译我们的代码。
舱位声明:
我们可以像使用Java语言编写代码一样声明一个类。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类创建一个对象,并将值设置为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会检测声明何时完成。
在下面的代码片段中,我们可以使用三个抽象方法声明一个接口Animal。
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 {
| ^----------------------------