Java 9 中 JShell 的顶级声明中不允许使用哪些修饰符?

javaobject oriented programmingprogramming更新于 2024/7/19 11:24:00

JShell 是一个用于学习 Java 语言和原型化 Java 代码的交互式工具。它是一个 REPL(读取-求值-打印-循环),一旦输入,它就会评估声明语句表达式,并立即在 JShell 中打印结果。此工具从命令行提示符运行。

修饰符(如publicprotectedprivatestaticfinal )不允许用于顶级 声明,可以忽略并显示警告。关键字(如synchronizednativeabstractdefault top-level方法)不允许,并且可能为错误

在下面的代码片段中,我们创建了final static 变量。它向用户打印出一条警告消息:"修饰符'final'或'static'在顶级声明中不允许,忽略"。

示例 1

C:\Users\User\>jshell
| Welcome to JShell -- Version 9.0.4
| For an introduction type: /help intro

jshell> final int x = 0
| Warning:
| Modifier 'final' not permitted in top-level declarations, ignored
| final int x = 0;
| ^---^
x ==> 0

jshell> x = 1
x ==> 1

示例 2

jshell> static String str = "Tutorix"
| Warning:
| Modifier 'static' not permitted in top-level declarations, ignored
| static String str = "Tutorix";
| ^----^
str ==> "Tutorix"

相关文章