# final 的用法 final 加在class上面, 就是代表不能再被繼承 ```java= A) final class A1{ public A1() {}; } B) public class Test { private static int i; private Test() {}; public static void main(String[] args) { // TODO Auto-generated method stub } } C) final abstract class A5{ protected static int i; void doStuff() {}; abstract void doIt(); } D) class A4{ protected static final int i; private void doStuff() {}; } E) abstract class A3{ private static int i; public void doStuff() {} public A3() {} } ``` Which two class definitions fail to compile? A. Option A B. Option B **C. Option C** **D. Option D** E. Option E - [x] **Answer: CD** :::info 選項C: final 的class 不能被繼承, 所以不能寫abstract 選項D: final i, 不能改變的變數, 所以要給初始值 ::: ###### tags: `ocpjp`