superメソッド
日本語 | 親関数 |
英語 | super method |
ふりがな | すーぱーめそっど |
フリガナ | スーパーメソッド |
コンストラクタで、スーパークラスのコンストラクタを呼び出すための予約語。
superのメソッドとしての使用方法。
コンストラクタの最初で「super();」という書式で呼び出すことでスーパークラスのコンストラクタを呼び出すことができる。どのコンストラクタが呼ばれるかは引数によって決められる。
呼び出しは、コンストラクタの最初で行わなければならない。なぜならば「スーパークラスはサブクラスよりも先に初期化できてなければならない」からである。もしこの制限がなければ、サブクラスのコンストラクタから、まだコンストラクタが呼ばれておらず初期化されていないスーパークラスのメソッドを使用できてしまうためである。
superのメソッドとしての使用方法。
コンストラクタの最初で「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();
// コンパイルエラー:
// トークン "(" に構文エラーがあります。正しくは "." です。
}
}
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(); // コンパイルエラー: // トークン "(" に構文エラーがあります。正しくは "." です。 } }
「みだし」に含まれているページ
「解説」に含まれているページ
「サンプルプログラムとか」に含まれているページ
- (参照している単語はありません)