如何在 Java 9 中的 JShell 中声明类和接口?

javaobject oriented programmingprogramming

JShell 可以提供一个交互式 shell,用于快速原型设计、调试和学习 Java 和 Java API,而无需 ma​​in() 方法,也不需要在执行代码之前编译它。

类的声明:

我们可以像用 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 {
|    ^----------------------------

相关文章