JavaA2Z

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

superメソッド

日本語 親関数
英語 super method
ふりがな すーぱーめそっど
フリガナ スーパーメソッド

解説

コンストラクタで、スーパークラスコンストラクタ呼び出すための予約語
superメソッドとしての使用方法。
 
コンストラクタの最初で「super();」という書式で呼び出すことでスーパークラスコンストラクタ呼び出すことができる。どのコンストラクタが呼ばれるかは引数によって決められる。
呼び出しは、コンストラクタの最初でわなければならない。なぜならば「スーパークラスサブクラスよりも先に初期化できてなければならない」からである。もしこの制限がなければ、サブクラスコンストラクタから、まだコンストラクタが呼ばれておらず初期化されていないスーパークラスメソッドを使用できてしまうためである。

参考サイト

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

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

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

// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // SubClassクラスを作ります。
        SubClass subClass = new SubClass();
        // SuperClass#SuperClass()
        // SubClass#SubClass()
    }
}

/**
*   スーパークラス。
*/
class SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SuperClass()
    {
        System.out.println( "SuperClass#SuperClass()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SubClass()
    {
        // スーパークラスのコンストラクタSuperClass#SuperClass()メソッドを
        // 呼び出します。
        super();
        System.out.println( "SubClass#SubClass()" );

        // このスーパークラスのコンストラクタを呼び出しは
        // コンストラクタの最初で呼ぶ必要があります。
        // super();
        // コンパイルエラー:
        // トークン "(" に構文エラーがあります。正しくは "." です。
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // SubClassクラスを作ります。
        SubClass subClass = new SubClass();
        // SuperClass#SuperClass()
        // SubClass#SubClass()
    }
}

/**
*   スーパークラス。
*/
class SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SuperClass()
    {
        System.out.println( "SuperClass#SuperClass()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SubClass()
    {
        // スーパークラスのコンストラクタSuperClass#SuperClass()メソッドを
        // 呼び出します。
        super();
        System.out.println( "SubClass#SubClass()" );

        // このスーパークラスのコンストラクタを呼び出しは
        // コンストラクタの最初で呼ぶ必要があります。
        // super();
        // コンパイルエラー:
        // トークン "(" に構文エラーがあります。正しくは "." です。
    }
}

この単語を含むページ

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

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

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

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