Java基礎筆試練習(一)


Java基礎筆試練習(一)

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

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

答案: D

解析:

  • 本地方法:簡單地講,一個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.運行時拋出異常

答案:
A

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

  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: https://github.com/CoderMerlin/coder-programming
Gitee: https://gitee.com/573059382/coder-programming
歡迎關注並star~
微信公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM