My Photo

« Java復習(1)ポリモーフィズム | Main | 最終節、ワーストタイ14位で終了、磐田ジウ惜別弾で勝利 »

December 01, 2011

Java復習(2)this

ソースコード

public class TestMain {
  public static void main(String args[]) {
    SubOuter subOuter = new SubOuter();
    subOuter.method();
  }
}

public class Base {
  protected String str = "class_Base";
}

public class SubOuter extends Base {
  
  protected String str = "class_SubOuter";
  
  private void privateMethod() {
    System.out.println("SubOuter#privateMethod()");
  }
  
  public void method() {
    System.out.println("SubOuter#method()");
    System.out.println("this.str=" + this.str);
    System.out.println("((Base)this).str=" + ((Base)this).str);  // thisでスーパークラスの変数を参照
    
    Thread thread = new Thread() {
      public void run() {
        System.out.println("Runnable#run() start.");
        privateMethod();
        System.out.println("SubOuter.this.str=" + SubOuter.this.str);  // thisで外側のクラスの変数を参照
        System.out.println("Runnable#run() end.");
      }
    };
    thread.start();
  }
}

実行結果
C:\program\java>javac TestMain.java Base.java SubOuter.java

C:\program\java>java TestMain
SubOuter#method()
this.str=class_SubOuter
((Base)this).str=class_Base
Runnable#run() start.
SubOuter#privateMethod()
SubOuter.this.str=class_SubOuter
Runnable#run() end.

C:\program\java>

参考:Javaクラス使用メモ(Hishidama's Java Class use Memo)

« Java復習(1)ポリモーフィズム | Main | 最終節、ワーストタイ14位で終了、磐田ジウ惜別弾で勝利 »

「Java」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/53378059

Listed below are links to weblogs that reference Java復習(2)this:

« Java復習(1)ポリモーフィズム | Main | 最終節、ワーストタイ14位で終了、磐田ジウ惜別弾で勝利 »

March 2017
Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof