如何在Java 9的JShell中声明类和接口?
JShell可以提供一个交互式shell,用于快速原型设计、调试和学习Java和Java API,无需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 { | ^----------------------------
广告