JavaA2Z

KAB-studio > プログラミング > JavaA2Z > superとは

super

日本語 スーパー
英語 super
ふりがな すーぱー
フリガナ スーパー

解説

スーパークラスを意味する予約語
予約語のひとつ。あるサブクラスから、スーパークラスメソッド呼び出すために使用する。
次の2つの使用方法がある。
 
superフィールド
superメソッド

参考サイト

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

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

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

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

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

    /**
    *   オーバーライド用メソッド。
    */
    protected void override()
    {
        System.out.println( "SuperClass#override()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SubClass()
    {
        // スーパークラスのコンストラクタSuperClass#SuperClass()メソッドを
        // 呼び出します。
        super();
        System.out.println( "SubClass#SubClass()" );
        // このスーパークラスのコンストラクタを呼び出しは
        // コンストラクタの最初で呼ぶ必要があります。
        // super();
        // コンパイルエラー:
        // トークン "(" に構文エラーがあります。正しくは "." です。
    }

    /**
    *   オーバーライドするメソッド。
    */
    public void override()
    {
        System.out.println( "SubClass#override()" );
        // スーパークラスのメソッドSubClass#override()メソッドを呼び出します。
        super.override();

        // superは参照値としてはthisと同じです。
        System.out.println( this.toString() );
        System.out.println( super.toString() );
    }
}
// Sample.java
public class Sample
{
    public static void main( String[] args )
    {
        // SubClassクラスを作ります。
        SubClass subClass = new SubClass();
        subClass.override();
        // SuperClass#SuperClass()
        // SubClass#SubClass()
        // SubClass#override()
        // SuperClass#override()
        // SubClass@3bb2b8
        // SubClass@3bb2b8
    }
}

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

    /**
    *   オーバーライド用メソッド。
    */
    protected void override()
    {
        System.out.println( "SuperClass#override()" );
    }
}

/**
*   サブクラス。
*/
class SubClass extends SuperClass
{
    /**
    *   コンストラクタ。
    */
    public SubClass()
    {
        // スーパークラスのコンストラクタSuperClass#SuperClass()メソッドを
        // 呼び出します。
        super();
        System.out.println( "SubClass#SubClass()" );
        // このスーパークラスのコンストラクタを呼び出しは
        // コンストラクタの最初で呼ぶ必要があります。
        // super();
        // コンパイルエラー:
        // トークン "(" に構文エラーがあります。正しくは "." です。
    }

    /**
    *   オーバーライドするメソッド。
    */
    public void override()
    {
        System.out.println( "SubClass#override()" );
        // スーパークラスのメソッドSubClass#override()メソッドを呼び出します。
        super.override();

        // superは参照値としてはthisと同じです。
        System.out.println( this.toString() );
        System.out.println( super.toString() );
    }
}

この単語を含むページ

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