1. 程式人生 > >OCJP 1Z0-808考題超詳細解析(word文件) 題50--60

OCJP 1Z0-808考題超詳細解析(word文件) 題50--60

我現在邊工作,業餘時間看看,更新的可能的比較慢,望大家諒解。

題58

Given the code fragment: 

if(aVar++ < 10){

System.out.println(aVar+ " Hello World!");

}else{

System.out.println(aVar+" Hello Universe!");

}

What is the result if the integer aVar is 9?
A. 10 Hello World!
B. Hello Universe!


C. Hello World!
D. Compilation fails.

-------------------------------------------------------------

Answer: A 

解析:1. if(aVar++ < 10) : aVar是先判斷後自增,此時aVar是9。

2. System.out.println(aVar+ " Hello World!") aVar已經自增過了,所以是10

題59

Given:

class X {

public void mX() {

System.out.println("Xm1");

}

}

 

class Y extends X{

public void mX() {

System.out.println("Xm2");

}

public void mY() {

System.out.println("Ym");

}

}

 

public class Test{

public static void

 main(String[] args) {

X xRef = new Y();

Y yRef=(Y)xRef;

yRef.mY();

xRef.mX();

}

}

A. Ym
Xm2
B. Ym
Xm1
C. Compilation fails
D. A ClassCastException is thrown at runtime

-------------------------------------------------------------

Answer: B 

解析:1. 由於Y yRef=(Y)xRef;把父類強轉為子類了。所以yRef.mY();沒有問題。排除選項C和選項D。

2. xRef.mX(); 多型情況下,子父類存在同名的非靜態的成員函式時,訪問的是子類的成員函式。1z0-808.236q.pdf文件有誤。這題正確的選項是A。