7-16-キーワード、修飾子の使用

2972 ワード

目次
キーワード
super
this
修飾子  
クラス修飾子
アクセス修飾子
非アクセス制御子
メソッド修飾子
アクセス制御修飾子
非アクセス制御子
変数修飾子 
アクセス制御修飾子
非アクセス制御子
キーワード
super
定義:superキーワードは親空間の参照を表します.(オブジェクトを表すわけではなく、1つのオブジェクトのメモリを表すだけです)
シーンを使用:
  • は関係を継承する前提であるが、構造方法は継承されず、サブクラスは親の無参構造方法をデフォルトで呼び出す.
  • super()またはsuper(パラメータ)を使用して呼び出され、サブクラス構築メソッドの最初の行に表示される必要があります.
  • 子親クラスに同じ名前のメンバー(変数とメソッドを含む)が存在する場合、子クラスではデフォルトで子クラスにアクセスするメンバーであり、superキーで親クラスにアクセスするメンバーを指定できます.

  • this
    定義:オブジェクトの参照を表します.つまり、thisは関数を呼び出すオブジェクト参照を指します.
    シーンを使用:
  • thisは、現在のコンストラクタメソッドを呼び出すオブジェクト参照を得るためにコンストラクタまたは非静的メソッドでのみ使用できます.
  • this(パラメータ)を使用すると、オブジェクト自体の他のコンストラクタが呼び出されますが、コンストラクタの最初の文に配置する必要があります.
  • 同じ名前のメンバー変数とローカル変数が存在する場合、メソッド内部のデフォルトはローカル変数にアクセスするデータであり、thisキーでメンバー変数にアクセスするデータを指定することができる.ただし、メンバー変数が1つしか存在しない場合は、デフォルトでthisが追加されます.

  • 使用例:
  • thisを使用してクラスにアクセスする別の方法または属性:
     public class Baby{
       public void wakeUp(){
          System.out.println("    ");
       }
    
       public void eat(){
          this.wakeUp();//  this         
          System.out.println("   ");
       }
    }
  • 注意:
  •  thisとsuperは構造方法と非静的方法にのみ適用でき、static修飾の方法はクラスに属し、この方法の呼び出し者はオブジェクトではなくクラスである可能性がある.オブジェクトではなくクラスを呼び出している場合、thisは適切なオブジェクトを指すことができない.そのためstatic修飾の方法ではthisは使用できない.
  • super()とthis()は同時に構造関数に現れない.

  • 修飾子  
    アクセス修飾子のアクセス権
    アクセスレベル
    アクセス制御修飾子
    同類
    同包
    サブクラス
    異なるパッケージ
    公開する
    public




    保護された
    protected



    ×
    デフォルト
    修飾子なし


    ×
    ×
    プライベート
    private

    ×
    ×
    ×
     
     
     
     
     
      
    protected:
  • は、親クラスに定義されたデータドメインまたはメソッドにサブクラスアクセスを許可するが、非サブクラスアクセスは許可されない.
  • は、同じ親を継承しているにもかかわらず、あるサブクラスで別のサブクラスのprotectedメソッドにアクセスできません.

  • クラス修飾子
    アクセス修飾子
    共通クラス修飾子publicでは、Javaプログラムごとにpubicすなわちプライマリクラスのクラスが1つしかなく、他の外部クラスにはアクセス制御修飾子がありません.しかし、1つのクラスの内部クラスは、クラスのメンバーに相当する他のアクセス制御修飾子protected、default、privateによって修飾することができる.
    非アクセス制御子
  • 抽象クラス修飾子abstract:abstract修飾子で修飾されたクラスで、抽象クラスと呼ばれます.
  • 最終クラス修飾子final:クラスが継承できない場合、修飾子finalを使用して最終クラスに修飾できます.

  • メソッド修飾子アクセス制御修飾子
     public、protected、デフォルト、private、メソッドアクセス修飾子については、上記の表に権限関連情報が示されています.
    非アクセス制御子
    1)抽象メソッド制御子abstract:メソッド体がない;
    2)静的メソッド制御子static:staticで修飾するメソッド.静的メソッドはクラス全体に属するクラスメソッドであるため、あるオブジェクトに属するメンバー変数を操作および処理することはできず、クラス全体のメンバー変数のみを処理することができ、すなわちstaticメソッドはstaticのドメインのみを処理することができる.
    3)最終方法制御子final:finalで修飾する方法で、方法は上書きまたは書き換えられない.
    4)プライベートメソッドコントローラprivate:現在のクラスでのみ使用できます.5)同期方法制御子synchronized:この修飾子は主にマルチスレッドプログラムにおける協調と同期に用いられる.
    変数修飾子 
    アクセス制御修飾子
     public、protected、デフォルト、private.アクセス修飾子については、上記の表に権限関連情報が示されています.
    非アクセス制御子
    1)静的ドメイン修飾子static:クラス変数に属し、そのクラスのインスタンス化オブジェクトがすべて同じデータにアクセスし、オブジェクトが変更されると、他のオブジェクトが取得したデータ値も変更されます.
    2)エンドドメイン修飾子final:定数を定義するために使用され、プログラムの実行中に値は変更されません.