Java 9中JShell的外部声明规则是什么?

Java 9中JShell的外部声明规则是什么?

JShellJava 9中引入的一个命令行工具,它是Java第一个官方REPL工具,用于创建一个简单的编程环境,读取用户的输入、对其进行评估并打印结果。

类外部的声明接口(以及类和接口本身的声明)是根据以下规则创建的。

外部声明规则:

1) 可以忽略public、protectedprivate等访问修饰符。所有其他片段都可以访问所有声明片段。

<strong>jshell> private int i = 10;
i ==> 10

jshell> System.out.println(i);
10</strong>

2) 修饰符final 可以忽略。允许更改和继承。

<strong>jshell> final class A {void m() {} }
|   Warning:
|   Modifier 'final' not permitted in top-level declarations, ignored
|   final class A {void m() {} }
|   ^---^
|   created class A</strong>

3) 修饰符 static 可以忽略,因为不存在容器类。

<strong>jshell> static char letter = 'A;
|   Warning:
|   Modifier 'static' not permitted in top-level declarations, ignored
|   static char letter = 'A';
|   ^----^
letter ==> 'A'</strong>

4) 不允许修改器的默认同步

<strong>jshell> synchronized void method() {}
|   Error:
|   Modifier 'synchronized' not permitted in top-level declarations
|   synchronized void method() {}
|   ^----------^</strong>

5) 修饰符抽象仅在类中允许使用。

<strong>jshell> abstract void method();
|   Error:
|   Modifier 'abstract' not permitted in top-level declarations
|   abstract void method();
|   ^------^</strong>

以上就是Java 9中JShell的外部声明规则是什么?的详细内容,更多请关注其它相关文章!