Java FAQ:final で継承を阻止
Java FAQ:S011 Q-11
class C2008042401 { //void foo() { final void foo() { System.out.println("foo in C2008042401"); } } class C2008042402 extends C2008042401 { C2008042402() { foo(); } void foo() { System.out.println("foo in C2008042402"); } } public class C2008042400 { public static void main(String[] args) { new C2008042402(); } }
で、
C2008042400.java:19: C2008042402 の foo() は C2008042401 の foo() をオーバーライドできません。; オーバーライドされたメソッドは final です。 void foo() { ^ エラー 1 個