JavaA2Z

KAB-studio > プログラミング > JavaA2Z > finalメソッドとは

finalメソッド

日本語 最終メソッド
英語 final method
ふりがな ふぁいなるめそっど
フリガナ ファイナルメソッド

解説

オーバーライドできないメソッド
finalで修飾されたメソッド
final 戻り値 メソッド(引数){ 実装 }」のように、メソッド宣言の先頭にfinalが付けられたメソッド
finalメソッドはオーバーライドすることができなくなる。
メソッドの性質上、オーバーライドさせたくない場合に使用する。
が、実際にはあまり使用機会はないだろう。

参考サイト

  • (参考サイトはありません)

(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        SuperClass superClass = new SubClass();
        superClass.notOverridable();
        // SuperClass#notOverridable()
        // 当然ですが、オーバーライドされてないメソッドが
        // 呼ばれています。
    }
}

/**
*   スーパークラス。
*/
class SuperClass
{
    /**
    *   オーバーライドされない、finalメソッド。
    */
    public final void notOverridable()
    {
        System.out.println( "SuperClass#notOverridable()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   スーパークラスの同名・同引数のメソッドが
    *   finalメソッドなので、オーバーライドできません。
    */
    // public void notOverridable(){}
    // コンパイルエラー:
    // SuperClass から final メソッドをオーバーライドできません。
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        SuperClass superClass = new SubClass();
        superClass.notOverridable();
        // SuperClass#notOverridable()
        // 当然ですが、オーバーライドされてないメソッドが
        // 呼ばれています。
    }
}

/**
*   スーパークラス。
*/
class SuperClass
{
    /**
    *   オーバーライドされない、finalメソッド。
    */
    public final void notOverridable()
    {
        System.out.println( "SuperClass#notOverridable()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   スーパークラスの同名・同引数のメソッドが
    *   finalメソッドなので、オーバーライドできません。
    */
    // public void notOverridable(){}
    // コンパイルエラー:
    // SuperClass から final メソッドをオーバーライドできません。
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/05/02
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。