ホームページ  >  記事  >  Java  >  Java の this.getClass() および super.getClass() に関するケース

Java の this.getClass() および super.getClass() に関するケース

黄舟
黄舟オリジナル
2017-08-22 10:06:431871ブラウズ

この記事では主に Java の this.getClass() と super.getClass() の例に関する関連情報を紹介します。必要な方は参考にしてください

this.getClass() と super.getClass() の詳細な説明) in Java 例

まえがき:

this.getClass() と super.getClass() の戻り値に出会ったときは混乱しましたが、調べてみると突然明らかになりました。

getClass() は Java の Object クラスのメソッドであり、そのプロトタイプは次のとおりです:


 public final Class<?> getClass()


戻り値は、現在のランタイム クラスの Class オブジェクトです。

そこで、説明するためにコードを書きました:

getClass() は this と super の影響を受けませんが、現在実行中のクラスによって決定されます。

コードは次のとおりです:

親クラス:


package com.cyou.lijiang_hw; 
 
import java.lang.reflect.ParameterizedType; 
 
public class BaseDAO { 
  public BaseDAO() { 
    System.out.println("==============BaseDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass());  
  } 
}

サブクラス:


package com.cyou.lijiang_hw; 
 
public class UserDAO extends BaseDAO<User> { 
  public UserDAO() { 
    System.out.println("\n==============UserDAO initialization============="); 
    System.out.println("this.getClass() ---->" + this.getClass()); 
    System.out.println("super.getClass()---->" + super.getClass()); 
  } 
}

テストクラス:


package com.cyou.lijiang_hw; 
 
public class Test { 
  public static void main(String[] args) { 
    UserDAO userDAO = new UserDAO(); 
  } 
}

出力結果は次のとおりです:


りー

以上がJava の this.getClass() および super.getClass() に関するケースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。