Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

final修飾子

メンバーの上書きを禁止する – final修飾子

final修飾子は、メンバーの上書きを禁止します。メソッドであればサブクラスでのオーバーライドを禁止しますし、フィールドであれば値の再代入を禁止します。また、クラスであればextends句による継承を禁止します。

ModFinal1.java

package com.example.mynavi.modifier;

public final class ModFinal1 {
	//class ChildClass extends ModFinal1 {}	→ クラスを継承できない
}

ModFinal2.java

package com.example.mynavi.modifier;

public class ModFinal2 {
  final void test() { } 
}
class ChildClass2 extends ModFinal2 {
  //void test() {}	→ メソッドをオーバーライドできない
}

ModFinal3.java

package com.example.mynavi.modifier;

public final class ModFinal3 {
  final int x = 0;
  void test() {
    //this.x = 5;	→ フィールドに再代入できない
  }
}
修飾子
修飾子
アクセス修飾子
abstract修飾子
static修飾子
final修飾子
transient修飾子
volatile修飾子
synchronized修飾子
native修飾子
strictfp修飾子

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職