SCJP題庫第016題


5. class Atom{
6.   Atom(){System.out.print("atom ");}
7. }
8. class Rock extends Atom{
9.    Rock(String type){System.out.print(type);}
10. }
11. public class Mountain extends Rock{
12.   Mountain(){
13.     super("granite ");
14.     new Rock("granite ");
15.   }
16.   public static void main(String[] a){new Mountain();}
17. }
What is the result?
A. Compilation fails.
B. atom granite
C. granite granite
D. atom granite granite
E. An exception is thrown at runtime.
F. atom granite atom granite

Ans:F

解說:
記住,若建構子中未寫thissuper的呼叫敘述,編譯器會在建構子的首行加上super(),以此例來說,建立Mountain物件時,先叫用super(granite),呼叫其父類別Rock的建構子,此建構子會再呼叫其父類別Atom的建構子,因此,會先印出atom

Comments

Popular posts from this blog

Android+Google Map API v3 Geocoding(地址轉經緯度度