finalメソッド
| 日本語 | 最終メソッド |
| 英語 | final method |
| ふりがな | ふぁいなるめそっど |
| フリガナ | ファイナルメソッド |
オーバーライドできないメソッド。
finalで修飾されたメソッド。
「final 戻り値 メソッド名(引数){ 実装 }」のように、メソッドの宣言の先頭にfinalが付けられたメソッド。
finalメソッドはオーバーライドすることができなくなる。
メソッドの性質上、オーバーライドさせたくない場合に使用する。
が、実際にはあまり使用機会はないだろう。
finalで修飾されたメソッド。
「final 戻り値 メソッド名(引数){ 実装 }」のように、メソッドの宣言の先頭にfinalが付けられたメソッド。
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 メソッドをオーバーライドできません。
}
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 メソッドをオーバーライドできません。
}




