////////////////////////////////////////////////////////////////////////////////
//  << j251a.java >>
//
//  クラス(5):抽象クラス(基本的使い方)
//
//  抽象メソッド、抽象クラスの基本的使い方を確認する。
//
//  (1)抽象メソッドの定義。      
//  (2)抽象メソッドのオーバーライド。      
//  (3)オブジェクトobjを作成。      
//  (4)実体を記述した抽象クラスの呼び出し。      
//
///////////////////////////////////////////////////////////////////////////////

// 抽象クラス。
abstract class AC {
  abstract void am(); //(1)
}
// 抽象クラスを継承するクラス。
class C extends AC {
  void am() { //(2)
    System.out.println("抽象メソッドamのオーバーライド");
  }
}

class j251a {
   public static void main(String args[]) {

     C obj = new C(); //(3)

     System.out.print("(4)obj.am():"); obj.am(); //(4)

  }

}
実行結果
% javac j251a.java
% java j251a
(4)obj.am():抽象メソッドamのオーバーライド