天天看點

Java 專項練習【11- 20】(每日精進系列)

abstract 和 final 可以同時作為一個類的修飾符。( )

A、正确

B、錯誤

解析

當類被

abstract

修飾時,該類一定可以被繼承,而當類被

final

修飾時,說明該類是不能被繼承的。如果兩者同時修飾一個類,那麼此時沖突。

參考答案

B

有以下程式片段且 Interesting 不是内部類,下列哪個選項不能插入到行 1。( )

public class Interesting{
// 省略代碼
}           

複制

A、

import java.awt.*;

B、

package mypackage;

C、

class OtherClass{ }

D、

public class MyClass{ }

解析

同一個

.java

檔案中,可以包含多個類,但是隻能含有一個

public

類,而且該類名必須與

.java

檔案保持一緻。

參考答案

D

如果一個接口 Cup 有個方法 use(),有個類 SmallCup 實作接口 Cup,則在類 SmallCup 中正确的是? ( )

A、

void use() { …}

B、

protected void use() { …}

C、

public void use() { …}

D、以上語句都可以用在類 SmallCup 中

解析

要實作一個接口,那麼就要實作該接口的所有方法,即重寫。方法重寫的原則:

  • 方法名相同
  • 傳回值類型相同
  • 形參相同
  • 通路權限必須大于重寫前
  • 抛出的異常要小于重寫前

以上原則總結為:三同一大一小

參考答案

C

語句: char foo = ‘中’,是否正确?(假設源檔案以GB2312 編碼存儲,并且以 javac – encoding GB2312 指令編譯)

A、正确

B、錯誤

解析

Java 中,中文字元所占位元組大小取決于字元編碼方式,一般情況下,采用 ISO8859-1編碼一個中文字元與一個英文字元一樣隻占 1 個位元組;采用 GB2312 或 GBK 編碼方式時,一個中文字元占 2 個位元組;而采用 UTF-8 編碼方式時,一個中文字元會占 3 個位元組。

參考答案

A

以下 Java 程式代碼,執行後的結果是()

java.util.HashMap map=new java.util.HashMap(); 
map.put("name",null);      
map.put("name","Jack");
System.out.println(map.size());           

複制

A、0

B、

null

C、1

D、2

解析

Java 中,HashMap 的 key 和 value 都可以是 null,插入時,會檢查是否已經存在相同的 key,若存在,則将新的 value 覆寫掉舊的 value,如果不存在,則直接插入。第一個

put

會将

name

這個 key 插入,其值為

null

,而第二個

put

繼續插入

name

這個 key,則将用新的 value 替換掉原來的 value,此時 map 的 size 仍為 1。

參考答案

C

J2EE 中,當把來自客戶機的 HTTP 請求委托給 servlet 時,會調用 HttpServlet 的( )方法

A、

service

B、

doget

C、

dopost

D、

init

解析

一個 HttpServlet 容器響應 Web 用戶端請求流程總結如下:

  1. Web 用戶端向 Servlet 容器發出 Http 請求;
  2. Servlet 容器解析 Web 用戶端的 Http 請求;
  3. Servlet 容器建立一個 HttpRequest 對象,在這個對象中封裝 Http 請求資訊;
  4. Servlet 容器建立一個 HttpResponse 對象;
  5. Servlet 容器調用 HttpServlet 的 service 方法,這個方法中會根據 request 的 Method 來判斷具體是執行 doGet 還是 doPost,把 HttpRequest 和 HttpResponse 對象作為 service 方法的參數傳給 HttpServlet 對象;
  6. HttpServlet 調用 HttpRequest 的有關方法,擷取 HTTP 請求資訊;
  7. HttpServlet 調用 HttpResponse 的有關方法,生成響應資料;
  8. Servlet 容器把 HttpServlet 的響應結果傳給 Web 用戶端。

參考答案

A

預設 RMI 采用的是什麼通信協定?

A、HTTP

B、UDP/IP

C、TCP/IP

D、Multicast

解析

RMI(Remote Method Invocation)遠端方法調用是一種計算機之間利用遠端對象互相調用實作雙方通訊的一種通訊機制。使用這種機制,某一台計算機上的對象可以調用另外一台計算機上的對象來擷取遠端資料。RMI 是 Enterprise JavaBeans 的支柱,是建立分布式 Java 應用程式的友善途徑。在過去,TCP/IP 套接字通訊是遠端通訊的主要手段,但此開發方式沒有使用面向對象的方式實作開發,在開發一個如此的通訊機制時往往令程式員感覺到乏味,對此 RPC(Remote Procedure Call)應運而生,它使程式員更容易地調用遠端程式,但在面對複雜的資訊傳訊時,RPC 依然未能很好的支援,而且 RPC 未能做到面向對象調用的開發模式。針對 RPC 服務遺留的問題,RMI 出現在世人面前,它被設計成一種面向對象的通訊方式,允許程式員使用遠端對象來實作通信,并且支援多線程的服務。

參考答案

C

關于 Socket 通信程式設計,以下描述正确的是:( )

A、用戶端通過 new ServerSocket() 建立 TCP 連接配接對象

B、用戶端通過 TCP 連接配接對象調用 accept() 方法建立通信的 Socket 對象

C、用戶端通過 new Socket() 方法建立通信的 Socket 對象

D、伺服器端通過 new ServerSocket() 建立通信的 Socket 對象

解析

在 Socket 通信程式設計中,用戶端是通過

new Socket()

方式來建立通信的 Socket 對象,而伺服器端則是通過

new ServerSocket()

建立 TCP 連接配接對象。

參考答案

C

關于 Java 集合下列說法不正确的有哪些()

A、HashSet 它是線程安全的,不允許存儲相同的對象

B、ConcurrentHashMap 它是線程安全的,其中存儲的鍵對象可以重複,值對象不能重複

C、Collection 接口是 List 接口和 Set 接口的父接口,通常情況下不被直接使用

D、ArrayList 線程安全的,允許存放重複對象

解析

對于 A,HashSet 是非線程安全的,是 Set 接口下的實作類,其特點是無序且無法存儲相同的對象。

對于 B,ConcurrentHashMap 是線程安全的,其中存儲的 key 不可重複,但 value 可以重複。

對于 C,Collection 接口是 List 接口和 Set 接口的父接口,通常情況下不被直接使用。

對于 D,ArrayList 是非線程安全的,其底層為數組,可以存放重複的對象。

參考答案

ABD

以下哪些方法可以取到 http 請求中的 cookie 值()?

A、

request.getAttribute

B、

request.getHeader

C、

request.getParameter

D、

request.getCookies

解析

下面的方法可用在 Servlet 程式中讀取 HTTP 頭。這些方法通過 HttpServletRequest 對象可用:

  1. Cookie[] getCookies()

    :傳回一個數組,包含用戶端發送該請求的所有的 Cookie 對象。
  2. Object getAttribute(String name)

    :以對象形式傳回已命名屬性的值,如果沒有給定名稱的屬性存在,則傳回 null。
  3. String getHeader(String name)

    :以字元串形式傳回指定的請求頭的值。Cookie 也是頭的一種;
  4. String getParameter(String name)

    :以字元串形式傳回請求參數的值,或者如果參數不存在則傳回 null。

參考答案

B、D

總結

以上所有題目整理自牛客網