錯題集03
總結:運行異常,可以通過java虛擬機來自行處理。非運行異常,我們應該捕獲或者拋出
java運行時異常是可能在java虛擬機正常工作時拋出的異常。
java提供了兩種異常機制。一種是運行時異常(RuntimeExepction),一種是檢查式異常(checked execption)。檢查式異常:我們經常遇到的IO異常及sql異常就屬於檢查式異常。對於這種異常,java編譯器要求我們必須對出現的這些異常進行catch 所以 面對這種異常不管我們是否願意,只能自己去寫一堆catch來捕捉這些異常。運行時異常:我們可以不處理。當出現這樣的異常時,總是由虛擬機接管。比如:我們從來沒有人去處理過NullPointerException異常,它就是運行時異常,並且這種異常還是最常見的異常之一。
(1)對於外部類而言,它也可以使用訪問控制符修飾,但外部類只能有兩種訪問控制級別: public 和默認。因為外部類沒有處於任何類的內部,也就沒有其所在類的內部、
所在類的子類兩個範圍,因此 private 和 protected 訪問控制符對外部類沒有意義。
(2)內部類的上一級程序單元是外部類,它具有 4 個作用域:同一個類( private )、同一個包( protected )和任何位置( public)。
(3) 因為局部成員的作用域是所在方法,其他程序單元永遠不可能訪問另一個方法中的局部變量,所以所有的局部成員都不能使用訪問控制修飾符修飾。
1、如果兩個對象相等,那麽他們一定有相同的哈希值(hash code)。
2、如果兩個對象的哈希值相等,那麽這兩個對象有可能相等也有可能不相等。(需要再通過equals來判斷)
總結:
System.arraycopy>clone>Arrays.copyOf>for循環
總結:
1,字符串在java中存儲在字符串常量區中
2,==判斷的是對象引用是否是同一個引用,判斷字符串相等要用equals方法
首先判斷a==MESSAGE 同一份字符串常量在內存中只有一份,因此是同一地址,返回true
再次比較(b+c)==MESSAGE 這相當於 new String(b+c)==MESSAGE 這裏new了一個String對象,所以返回false
exception是JSP九大內置對象之一,其實例代表其他頁面的異常和錯誤。只有當頁面是錯誤處理頁面時,即isErroePage為 true時,該對象才可以使用。對於C項,
errorPage的實質就是JSP的異常處理機制,發生異常時才會跳轉到 errorPage指定的頁面,沒必要給errorPage再設置一個errorPage。所以當errorPage屬性存在時, isErrorPage屬性值為false
BC正確,選項B解釋,java核心卷I中43頁有如下表述:兩個數值進行二元操作時,會有如下的轉換操作:
如果兩個操作數其中有一個是double類型,另一個操作就會轉換為double類型。
否則,如果其中一個操作數是float類型,另一個將會轉換為float類型。
否則,如果其中一個操作數是long類型,另一個會轉換為long類型。
否則,兩個操作數都轉換為int類型。
故,x==f1[0]中,x將會轉換為float類型。
錯題集03