スポンサードリンク
HOME > Java > クラス機能 finalキーワード

Java - クラス機能 finalキーワード

メンバ変数にfinalを付けると、定数化する事はfinal - 変数の固定機能

説明しましたが、メンバ関数クラスにもfinalを付ける事ができます。



メンバ関数にfinalを付けた場合

メンバ関数にfinalキーワードを付けると、

そのメンバ関数がオーバーライド不可になります。


/********** 基本クラス **********/
class kihon {

   public
final void show() {
      System.out.println("基本クラス");
   }

}

/********** 派生クラス **********/
class hasei extends kihon {

   public void
show() {
      System.out.println("派生クラス");
   }
}


このプログラム例では、基本クラスのメンバ関数showfinalが付いているので、

その派生クラスでメンバ関数showのオーバーライドはできません。

なので、このプログラムはエラーとなり、実行できません。



クラスにfinalを付けた場合

クラスにfinalキーワードを付けると、

そのクラスは継承できないクラスになります。


/********** 基本クラス **********/
final class kihon {
   public int data1;
}

/********** 派生クラス **********/
class hasei
extends kihon {
   public int data2;
}


このプログラム例では、基本クラスにfinalが付いているので、

その派生クラスは定義できません

なので、このプログラムはエラーとなり、実行できません。

派生クラスを定義できないので、自動的にメンバ関数はfinal付きとして

処理されます。

 一方、クラスにfinalが付いていても

メンバ変数は自動的にfinalが付かないので注意して下さい。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved