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

Javaの保護されたアクセス指定子とデフォルトのアクセス指定子の違いは何ですか?


保護 アクセス指定子は同じパッケージ内に表示されます また、サブクラスに表示されます 一方、デフォルト パッケージレベルのアクセス仕様です rそしてそれは同じパッケージで見ることができます。

保護されたアクセス指定子

  • 保護されています 同じパッケージ内でパブリックとして機能し、パッケージ外でプライベートとして機能します。
  • 保護されています また、サブクラスオブジェクトに関してのみ、パッケージの外部でパブリックとして機能します。
  • 保護されています フィールドまたはメソッドをクラスおよびインターフェースに使用することはできません。
  • 保護されたとして宣言されたフィールド、メソッド、およびコンストラクター スーパークラスのは、他のパッケージのサブクラスからのみアクセスできます。
  • 同じパッケージ内のクラスは、保護されたにもアクセスできます 保護されたのサブクラスでなくても、フィールド、メソッド、コンストラクターも同様です メンバーのクラス。

public class ProtectedTest {
   // variables that are protected
   protected int age = 30;
   protected String name = "Adithya";

   /**
    * This method is declared as protected.
    */
   protected String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new ProtectedTest().getInfo());
   }
}

出力

Adithya is 30 years old.


デフォルトのアクセス指定子

  • アクセス指定子なしで言及されたクラスのメンバー その場合、デフォルトと見なされます 。
  • D 障害 同じパッケージ内でパブリックとして機能し、パッケージ外でプライベートとして機能します。
  • デフォルト どのクラスのメンバーも、同じパッケージ内のすべてのメンバーが利用でき、どのような条件下でもパッケージ外では利用できません。
  • デフォルト アクセスをパッケージレベルにのみ制限します 、デフォルトのデータメンバーを持つクラスを拡張した後でも、アクセスできません。

public class DefaultTest {
   // variables that have no access modifier
   int age = 25;
   String name = "Jai";

   /**
    * This method is declared with default aacees specifier
    */
   String getInfo() {
      return name +" is "+ age +" years old.";
   }
   public static void main(String[] args) {
      System.out.println(new DefaultTest().getInfo());
   }
}

出力

Jai is 25 years old.

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

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

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

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