SCJP題庫第080題

3. interface Fish{}
4. class Perch implements Fish{}
5. class Walleye extends Perch{}
6. class Bluegill{}
7. public class Fisherman {
8.   public static void main(String[] args) {
9.     Fish f = new Walleye();
10.   Walleye w = new Walleye()
11.   Bluegill b = new Bluegill();
12.   if(f instanceof Perch) System.out.print("f-p ");
13.   if(w instanceof Fish) System.out.print("w-f ");
14.   if(b instanceof Fish) System.out.print("b-f ");
15. }
16.}
What is the result?


A. w-f
B. f-p w-f
C. w-f b-f
D. f-p w-f b-f
E. Compilation fails.
F. An exception is thrown at runtime.
 
Ans: B
 
解說:
f instanceof Perch是判斷f所指向的物件型態是否為Perch, f是指向Walleye物件,Walleye繼承Perch所以12iftrue
w instanceof Fishtruew是指向Walleye物件,Walleye繼承PerchPerch實作Fish,所以WalleyeFish的型態
Bluegill類別與Fish沒有任何繼承關聯,所以b instanceof Fishfalse

Comments

Popular posts from this blog

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