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

Javaのアクセス修飾子と非アクセス修飾子の違いは何ですか?


アクセス修飾子

アクセス修飾子は、アクセスレベルを制御するためにクラス、変数、メソッド、およびコンストラクターで使用されるキーワードです。

Javaには4つのアクセス修飾子があります。

  • デフォルト

    アクセス修飾子が指定されていない場合、javaはデフォルトの修飾子として扱われます。デフォルトの修飾子の範囲は、パッケージ内に制限されています。
  • 公開

    public修飾子の範囲は、パッケージのどこにでも、さらにはパッケージの外にもアクセスすることです。
  • プライベート

    プライベート修飾子のスコープは、クラス自体の内部にアクセスすることです。
  • 保護

    保護された修飾子の範囲は、パッケージとすべてのサブクラス内で制限されています。

非アクセス修飾子

非アクセス修飾子は、アクセスレベルとは関係ありませんが、指定すると特別な機能を提供するキーワードです。

  • 最終

    finalキーワードは、変数、メソッド、またはクラスで使用できます。コンテンツが変更されるのを防ぎます。クラスで宣言すると、クラスが拡張されなくなります。
  • 静的

    静的修飾子は、クラスのインスタンスなしでアクセスできるクラス変数およびメソッドで使用されます。静的変数には単一のストレージしかありません。すべてのオブジェクトは、静的変数の単一のストレージを共有します。オブジェクトなしで直接アクセスできます。静的メソッドも宣言できます。 main()メソッドは、一般的な静的メソッドです。静的ブロックも宣言でき、main()メソッドの前に実行されます。
  • 要約

    抽象はクラスとメソッドで使用できます。抽象クラスをインスタンス化することはできず、その目的は拡張することだけです。抽象メソッドは本文なしで宣言され、セミコロンで終わります。クラスに抽象メソッドが含まれている場合は、抽象としても指定する必要があります。抽象クラスを拡張するクラスは、そのすべての抽象メソッドを実装する必要があります。
  • 同期

    これは、一度に1つのスレッドのみがメソッドにアクセスできることを示しています。
  • 一時的

    インスタンス変数は一時的なものとしてマークされ、JVMが特定の変数を含むオブジェクトをシリアル化するときに特定の変数をスキップすることを示します。
  • 揮発性

    Volatileキーワードは、Java変数を「メインメモリに保存されている」とマークするために使用されます。つまり、揮発性変数のすべての読み取りは、CPUキャッシュからではなく、コンピューターのメインメモリから読み取られ、揮発性変数への書き込みは、CPUキャッシュだけでなく、メインメモリにも書き込まれます。
  • Strictfp

    JavaのStrictfpキーワードを使用すると、浮動小数点変数で操作を実行した場合に、すべてのプラットフォームで同じ結果が得られます。

  1. JavaのJFrameとJDialogの違いは何ですか?

    JFrame フレームに追加されたコンポーネントはそのコンテンツと呼ばれ、 contentPaneによって管理されます。 。 JFrameにコンポーネントを追加するには 、 contentPaneを使用する必要があります 代わりに。 JFrame タイトルのウィンドウが含まれています 、境界線 、(オプション)メニュー バー およびユーザー -指定 コンポーネント 。 JFrame 移動できます 、サイズ変更 、アイコン化 JComponentのサブクラスではありません 。 デフォルトでは、JFrameは左上の角に表示されます 画面のr。指定した場所にフレームを表示するには

  2. JavaのGridLayoutとGridBagLayoutの違いは何ですか?

    GridLayout すべてのコンポーネントを長方形のグリッドに配置し、同じサイズの長方形に分割します 各コンポーネントは長方形の中に配置されますが、 GridBagLayout 柔軟です レイアウト マネージャー コンポーネントを垂直方向と水平方向に整列させます コンポーネントが同じサイズである必要はありません。各GridBagLayout オブジェクトは、動的な長方形のセルのグリッドを維持します 各コンポーネントがコンポーネントと呼ばれる1つ以上のセルを占有します 表示 エリア 。 GridLayout GridLayout コンポーネントを長方形のグリッドに配置します。セル