Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java 9のJShellでの外部宣言のルールは何ですか?


JShell コマンドラインツールです Java 9で導入 、そしてこれはJavaの最初の公式 REPL ユーザーの入力を読み取り、評価し、結果を出力する簡単なプログラミング環境を作成するためのツール。

クラス外の宣言 またはインターフェース (およびクラスとインターフェースの宣言自体)は、次のルールに基づいて作成されています。

外部宣言のルール:

1) public、protectedなどのアクセス修飾子 、およびプライベート 無視できます。すべての宣言スニペットは、他のすべてのスニペットからアクセスできます。

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

jshell> System.out.println(i);
10

2) 修飾子最終 無視できます。変更と継承が許可されます。

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

3) 修飾子静的 コンテナクラスがないため、無視できます。

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

4) 修飾子のデフォルト および同期 許可されていません。

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

5)T 修飾子要約 クラスでのみ許可されます。

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

  1. Java 9での@Deprecatedアノテーションの改善点は何ですか?

    @Deprecatedで注釈を付けることができる要素 この特定の要素が以下の理由で使用されなくなったことを意味します 使用するのは危険であり、エラーが発生する可能性があります。 将来のバージョンでは互換性がなくなる可能性があります。 将来のバージョンで削除される可能性があります。 より優れた、より効率的なソリューションがそれに取って代わりました。 Java 9には、次の2つの新しい要素が追加されています。以降 およびforRemoval 属性。 1)以降: この要素は、注釈付きAPI要素の非推奨バージョンを指定します。 2)forRemoval: 注釈付きのAPI要素を表す

  2. Java9のJShellのさまざまな/editコマンドは何ですか?

    JShell Java 9で導入されたコマンドラインツールです main()なしで宣言、ステートメント、および式を評価します 方法。 JShellは、 JShell Edit Padというテキストエディタを設定できます。 、コードを非常に簡単に変更でき、「 / edit」を使用して起動できます コマンド。 以下は、さまざまな「/編集」です。 Jshellで使用されるコマンド。 /edit /edit [ID] /edit [Code_Name] /編集: このコマンドは引数なしで使用できます。「/edit」コマンドは、テキストエディタにすべてのアクティブなコードを表示します。