Given:
class Mid { | |
public int findMid(int n1, int n2) { | |
return (n1 + n2) / 2; | |
} | |
} | |
public class Calc extends Mid { | |
public static void main(String[] args) { | |
int n1 = 22, n2 = 2; | |
// insert code here | |
System.out.print(n3); | |
} | |
} |
Which two code fragments, when inserted at // insert code here, enable the code to compile and print 12?
A.
Calc c = new Calc(); | |
int n3 = c.findMid(n1, n2); |
int n3 = super.findMid(n1, n3); |
Calc c = new Mid(); | |
int n3 = c.findMid(n1, n2); |
Mid m1 = new Calc(); | |
int n3 = m1.findMid(n1, n2); |
int n3 = Calc.findMid(n1, n2); |
題解
findMid是物件方法,必須要實體化出Calc或是Mid的物件才能使用,因此選項B、E是錯的。
Calc類別繼承Mid類別,所以Calc物件型態可以隱含式(implicit)轉型為Mid物件型態,反之則不行,因此選項C是錯誤的。
最後剩下的選項A、D是正確的。