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

Java 9のJShellで参照型を宣言するにはどうすればよいですか?


JShell は、Java 9の対話型ツールであり、ユーザー入力を可能にし、それを評価し、出力をユーザーに出力します。

値型とは異なり、参照型 その値を直接保存しません。代わりに、アドレスが保存されます 値が格納される場所。これは、参照型を意味します 別のメモリ位置へのポインタが含まれています データを保持します。参照型は文字列、配列、クラス、です。 および委任

以下のコードスニペットで、動物の新しいインスタンスを作成する場合 、ヒープメモリで作成できます 。 新しいAnimal() ヒープ上にオブジェクトを作成します。 動物@73846619 、オブジェクトはヒープのアドレス 73846619に格納されます 。

スニペット-1
jshell> class Animal {
   ...> }
| created class Animal

jshell> Animal dog = new Animal();
dog ==> Animal@73846619


以下のコードスニペットでは、2つの新しい動物オブジェクト ヒープ上に作成されます。それらのメモリ位置(参照)は、参照変数 dogに格納されます。 と 。 Javaでは、すべてのクラスは参照型 。プリミティブ変数インスタンスを除いて、すべてのインスタンスまたはオブジェクトはヒープに格納されます。オブジェクトへの参照は、参照変数に保存されます のように と

スニペット-2

jshell> class Animal {
   ...>    int id;
   ...>    public Animal(int id) {
   ...>       this.id = id;
   ...>    }
   ...> }
| created class Animal

jshell> Animal dog = new Animal(10);
dog ==> Animal@6adede5

jshell> Animal cat = new Animal(20);
cat ==> Animal@5025a98f


以下のコードスニペットでは、「 j =I 「」は「I」の値を「j」にコピーします。後で「j」の値が変更されても、「I」は影響を受けません。プリミティブ変数を使用して、それらの値を比較します。

スニペット-3

jshell> int i = 5;
i ==> 5

jshell> int j;
j ==> 0

jshell> j = i;
j ==> 5

jshell> j = 10;
j ==> 10

jshell> i;
i ==> 5

jshell> i == j;
$11 ==> false

jshell> j = 5;
j ==> 5

jshell> i == j;
$13 ==> true

  1. Java 9のJShellでシステムプロパティを取得するにはどうすればよいですか?

    JShell はREPL(Read-Evaluate-Print-Loop) 単純なステートメントを実行して評価し、main()メソッドなしで結果を表示するために使用されるツール。 「jshell」と入力するだけで開始できます 「コマンドラインプロンプトで。 System.getProperty()を使用してシステムプロパティを取得する必要があります およびSystem.getProperties() メソッド。 以下のコードスニペットでは、静的を使用して、JShellツールでシステムプロパティを表示できます。 メソッドproperty() システムの クラス。 スニペット-1 jsh

  2. Java 9でJavaFXを使用してJShellを実装するにはどうすればよいですか?

    JShell サンプル式を実装するために使用されるインタラクティブなツールです。 JavaFXを使用してプログラムでJShellを実装できます アプリケーションの場合、以下にリストされているJavaプログラムにいくつかのパッケージをインポートする必要があります import jdk.jshell.JShell; import jdk.jshell.SnippetEvent; import jdk.jshell.VarSnippet; 以下の例では、サンプルのJavaFXアプリケーションを実装しました。 テキストフィールドにさまざまな値を入力します 「評価」を押します 「」ボタン。対応する