如何在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 {
| ^----------------------------
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP