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; → フィールドに再代入できない } }