My Photo

« 大阪"都"じゃなくても | Main | Java復習(2)this »

December 01, 2011

Java復習(1)ポリモーフィズム

Androidアプリ開発を勉強する前にJavaの復習すべきだった。 かなりJavaの知識があやふやになっていたので、復習。

ソースコード

public class TestMain {
  public static void main(String args[]) {
    BaseClass obj1 = new BaseClass();
    System.out.println("BaseClass.method1() called.");
    obj1.method1();
    
    System.out.println("\nBaseClass.method2() called.");
    obj1.method2();
    
    BaseClass obj2 = new SubClass();
    System.out.println("\nSubClass.method1() called.");
    obj2.method1();
    
    System.out.println("\nSubClass.method2() called.");
    obj2.method2();
  }
}

public class BaseClass {
  protected void method1() {
    System.out.println("BaseClass#method1()");
    privateMethod();
    protectedMethod();
  }
  
  protected void method2() {
    System.out.println("BaseClass#method2()");
    privateMethod();
    protectedMethod();
  }
  
  private void privateMethod() {
    System.out.println("BaseClass#privateMethod()");
  }
  
  protected void protectedMethod() {
    System.out.println("BaseClass#protectedMethod()");
  }
}

public class SubClass extends BaseClass {
  protected void method2() {
    System.out.println("SubClass#method2()");
    privateMethod();
    protectedMethod();
  }
  
  private void privateMethod() {
    System.out.println("SubClass#privateMethod()");
  }
  
  protected void protectedMethod() {
    System.out.println("SubClass#protectedMethod()");
  }
}

実行結果
C:\program\java>javac TestMain.java BaseClass.java SubClass.java

C:\program\java>java TestMain
BaseClass.method1() called.
BaseClass#method1()
BaseClass#privateMethod()
BaseClass#protectedMethod()

BaseClass.method2() called.
BaseClass#method2()
BaseClass#privateMethod()
BaseClass#protectedMethod()

SubClass.method1() called.
BaseClass#method1()
BaseClass#privateMethod()
SubClass#protectedMethod()

SubClass.method2() called.
SubClass#method2()
SubClass#privateMethod()
SubClass#protectedMethod()

C:\program\java>

« 大阪"都"じゃなくても | Main | Java復習(2)this »

「Java」カテゴリの記事

Comments

Post a comment

(Not displayed with comment.)

TrackBack

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

Listed below are links to weblogs that reference Java復習(1)ポリモーフィズム:

« 大阪"都"じゃなくても | Main | Java復習(2)this »

May 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