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();
// コンパイルエラー:
// トークン "(" に構文エラーがあります。正しくは "." です。
}
}
「みだし」に含まれているページ
「解説」に含まれているページ
「サンプルプログラムとか」に含まれているページ
- (参照している単語はありません)




