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

Javaで定義されているネストされたクラスの種類は何ですか?


Javaでは、別のクラス内のクラスを定義することができます。 、このようなクラスはネストされたクラスと呼ばれます 。 private、public、protected、defaultなどのアクセス修飾子を使用できます 内部クラスの場合 およびデフォルトまたはパブリック 外部クラスのアクセス修飾子 。

ネストされたクラスには2つのタイプがあります Javaで定義されています。

  • 静的ネストクラス
  • 非静的ネストクラス

静的ネストクラス

  • 内部クラスを静的として定義できるため、このようなタイプのクラスは静的ネストクラスと呼ばれます。
  • ネストされたクラス 静的キーワードで定義されています したがって、このタイプのネストされたクラスは、外部クラスのインスタンスとは関係を共有しません。 。
  • 静的なネストされたクラス s 静的メンバーにアクセスできます 私たちのクラスの。

class Car {
   static class Wheel {
      public void rotate() {
         System.out.println("The wheel is rotating");
      }
   }
}
public class Test {
   public static void main(String args[]) {
      Car.Wheel wheel = new Car.Wheel();
      wheel.rotate();
   }
}

出力

The wheel is rotating


非静的ネストクラス

  • 非静的ネストクラス 間接的に内部クラスとして知られています Javaで。
  • 内部クラス 外部クラスのオブジェクトに関連付けられています 。したがって、内部クラスは外部クラスの他の変数やメソッドと同様に扱われます。
  • 内部クラス は外部クラスのオブジェクトまたはインスタンスに関連付けられているため、静的変数を宣言できません 内部クラス内。

public class OuterClassTest {
   private int a = 10;
   public void innerClassInstance() {
      InnerClassTest inner = new InnerClassTest();
      inner.outerObject();
   }
   public static void main(String args[]) {
      OuterClassTest outer = new OuterClassTest();
      outer.innerClassInstance();
   }
   class InnerClassTest {
      public void outerObject() {
         System.out.println("Outer Value of a is: " + a);
      }
   }
}

出力

Outer Value of a is: 10

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

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

  2. Javaプログラムを実行するために必要なさまざまな手順は何ですか?

    Javaプログラムの実行は、5つの主要なステップに従います 編集-ここでは、プログラマーは単純なエディターまたはメモ帳アプリケーションを使用してJavaプログラムを作成し、最後に「.java」拡張子を付けます。 コンパイル-このステップでは、プログラマーがjavacコマンドを実行し、.javaファイルがJava仮想マシンによって理解される言語であるバイトコードに変換されます(これにより、Javaプラットフォームが独立した言語になります)。このステップでは、コンパイル時のエラーが発生します。 ロード-次に、プログラムがメモリにロードされます。これは、バイトコードを含む.classファイルを取得