Java基礎筆試練習(一)

Java基礎筆試練習(一)

1. 若在某一個類定義中定義有以下的方法: abstract void performDial( ); 該方法屬於() ?

A.本地方法 B.最終方法 C.靜態方法 D.抽象方法java

答案: Dgit

解析:github

  • 本地方法:簡單地講,一個native Method就是一個java調用非java代碼的接口;native方法表示該方法要用另一種依賴平臺的編程語言實現。
  • 最終方法:final void B(){},這樣定義的方法就是最終方法,最終方法在子類中不能夠被重寫,也就是說,若是有個子類繼承了這個最終方法所在的類,那麼這個子類中不能出現void B(){}這樣的方法。
  • 最終類:final class A {},這樣定義的類就是最終類,最終類不能被繼承。
  • abstract修飾抽象類

2.在爲傳統面嚮對象語言的程序作單元測試的時候,常常用到mock對象。Mock對象經過反射數。請問反射最大程度破壞了面向對象的如下哪一個特性?

A.封裝 B.多態 C.繼承 D.抽象面試

答案: A編程

解析: A.封裝 反射破壞代碼的封裝性,破壞原有的訪問修飾符訪問限制數組

3.如下程序的執行結果是:

static boolean foo(char c) {
		System.out.print(c);
		return true;
	}

public static void main1(String[] args) {
	int i = 0;
	for (foo('A'); foo('B') && (i < 2); foo('C')) {
		i++;
		foo('D');
	}
}
複製代碼

A.ABDCBDCB B.ABCDABCD C.編譯時出錯 D.運行時拋出異常bash

答案: A微信

解析: 略,代碼敲一遍就知道了= =!jsp

  1. 一個完整的URL地址由(),(),端口和文件四部分組成。

A.協議 用戶名 B.協議 主機名 C.主機名 ip D.以上都不正確編程語言

答案: B

解析: **URL(Uniform Resource Locator) **,統一資源定位符,可以對因特網的資源進行定位。 URL通常有四部分組成: <協議>://<主機>:<端口>/<路徑>

  • 如今最經常使用的<協議>爲http協議。
  • <主機>是指主機在因特網上的域名。
  • http協議的默認<端口>爲80(能夠省略)。
  • <路徑>是指要活的的文件的路徑。

5.如下程序的輸出結果是?

public class Example {
    String str = new String("good");
    char[] ch = { 'a', 'b', 'c' };
 
    public static void main(String args[]) {
        Example ex = new Example();
        ex.change(ex.str, ex.ch);
        System.out.print(ex.str + " and ");
        System.out.print(ex.ch);
    }
 
   public static void change(String str, char ch[])      
   {
        str = "test ok";
        ch[0] = 'g';
    }
}

複製代碼

A.good and abc B.good and gbc C.test ok and abc D.test ok and gbc

答案: B

解析: 考察值傳遞和引用傳遞。對於值傳遞,拷貝的值用完以後就會被釋放,對原值沒有任何影響,可是對於引用傳遞,拷貝的是對象的引用,和原值指向的同一塊地址,即操做的是同一個對象,因此操做之間會相互影響 因此對於String str是值傳遞,操做之間互不影響,原值保持不變。而ch是數組,拷貝的是對象的引用,值發生了改變,所以選擇B

6.下面有關servlet service描述錯誤的是?

A.無論是post仍是get方法提交過來的鏈接,都會在service中處理 B.doGet/doPost 則是在 javax.servlet.GenericServlet 中實現的 C.service()是在javax.servlet.Servlet接口中定義的 D.service判斷請求類型,決定是調用doGet仍是doPost方法

答案: B

解析: doGet/doPost 則是在 javax.servlet.http.HttpServlet 中實現的

7.如下代碼運行輸出的是

public class Person{
    private String name = "Person";
    int age=0;
}
public class Child extends Person{
    public String grade;
    public static void main(String[] args){
        Person p = new Child();
        System.out.println(p.name);
    }
}
複製代碼

A.輸出:Person B.沒有輸出 C.編譯出錯 D.運行出錯

答案: C

解析: Java中對字段屬性是靜態綁定,方法成員是動態綁定,這裏錯在:在子類中試圖訪問父類的private字段,因此編譯不經過,將private去掉就可訪問,不是動態綁定的問題,它原本就屬於靜態綁定。

8. 在 myjsp.jsp 中,關於下面的代碼說法錯誤的是: ( )

<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>

A.該頁面可使用 exception 對象 B.該頁面發生異常會轉向 error.jsp C.存在 errorPage 屬性時,isErrorPage 是默認爲 false D.error.jsp 頁面必定要有isErrorPage 屬性且值爲 true

答案: A

解析: exception是JSP九大內置對象之一,其實例表明其餘頁面的異常和錯誤。只有當頁面是錯誤處理頁面時,即isErroePage爲true時,該對象纔可使用。對於C項,errorPage的實質就是JSP的異常處理機制,發生異常時纔會跳轉到errorPage指定的頁面,不必給errorPage再設置一個errorPage。因此當errorPage屬性存在時, isErrorPage屬性值爲false

9.Java對象的初始化方式有( )

A.初始化塊 B.構造器 C.定義變量時指定初始化值 D.其它各項都不對

答案: A B C

解析:

對象的初始化方式: 1.new時初始化 ; 2.靜態工廠 newInstance; 3.反射Class.forName(); 4.clone方式; 5.反序列化;

推薦

Java筆試內容集合 持續更新中....

文末

歡迎關注我的微信公衆號:Coder編程 獲取最新原創技術文章和免費學習資料,更有大量精品思惟導圖、面試資料、PMP備考資料等你來領,方便你隨時隨地學習技術知識!

文章收錄至 Github: github.com/CoderMerlin… Gitee: gitee.com/573059382/c… 歡迎關注並star~

微信公衆號
相關文章
相關標籤/搜索