SCJP題庫第150題

Given:
5. import java.io.*;
6. public class Talk{
7.   public static void main(String[] args){
8.     Console c = new Console();
9.     String pw;
10.   System.out.print("password: ");
11.   pw = c.readLine();
12.   System.out.println("got" + pw);
13. }
14.}
If the user types the password aiko when prompted, what is the result?


A. password:
got
B. password:
got aiko
C. password: aiko
got aiko
D. An exception is thrown at runtime.
E. Compilation fails due to an error on line 8.
 
Ans:E
 
解說:
系統的Console只有一個,java.io.Console是一個Singleton樣板,不能讓使用者用new的方式來建立多個的Console
要操作系統的Console要用System.console()取得目前系統的Console
8 錯誤的原因是Console的建構子是設為私有的(Singleton的特徵),不能被外界類別叫用,也就是禁止外界叫用Console建構子來建立Console物件。要改為:
Console c = System.console();

Comments

Popular posts from this blog

Android-使用webview在V3版的Google地圖GPS定位