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

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

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

外部声明规则:

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

jshell> private int i = 10; i ==> 10 jshell> System.out.println(i); 10登录后复制

jshell> final class A {void m() {} } | Warning: | Modifier 'final' not permitted in top-level declarations, ignored | final class A {void m() {} } | ^---^ | created class A登录后复制

jshell> static char letter = 'A; | Warning: | Modifier 'static' not permitted in top-level declarations, ignored | static char letter = 'A'; | ^----^ letter ==> 'A'登录后复制

jshell> synchronized void method() {} | Error: | Modifier 'synchronized' not permitted in top-level declarations | synchronized void method() {} | ^----------^登录后复制

jshell> abstract void method(); | Error: | Modifier 'abstract' not permitted in top-level declarations | abstract void method(); | ^------^登录后复制