- 慢慢來,比以前有一點進步就是好的
根據如下代碼段,下列說法中正確的是( )。java
public class Parent { private void m1(){} void m2(){} protected void m3(){} public static void m4(){} }
正確答案: C
A 子類中必定可以繼承和覆蓋Parent類的m1方法
B 子類中必定可以繼承和覆蓋Parent類的m2方法
C 子類中必定可以繼承和覆蓋Parent類的m3方法
D 子類中必定可以繼承和覆蓋Parent類的m4方法數組
public和protected均可以做用於子類,但在多態狀況下,靜態函數調用時編譯和運行看左邊,因此子父類存在同名靜態函數訪問的是父類,子類並不能覆蓋父類的方法,因此選C
關於繼承的說法正確的是()。函數
正確答案: A 你的答案: B (錯誤)
A 子類將繼承父類全部的數據域和方法。
B 子類將繼承父類的其可見的數據域和方法。
C 子類只繼承父類public方法和數據域
D 子類只繼承父類的方法,而不繼承數據域測試
父類的靜態方法不可繼承,私有方法能繼承了,但不能直接調用
在一個子類被建立的時候,首先會在內存中建立一個父類對象,而後在父類對象外部放上子類獨有的屬性,二者合起來造成一個子類的對象。因此所謂的繼承使子類擁有父類全部的屬性和方法其實能夠這樣理解,子類對象確實擁有父類對象中全部的屬性和方法,可是父類對象中的私有屬性和方法,子類是沒法訪問到的,只是擁有,但不能使用。就像有些東西你可能擁有,可是你並不能使用。因此子類對象是絕對大於父類對象的,所謂的子類對象只能繼承父類非私有的屬性及方法的說法是錯誤的。能夠繼承,只是沒法訪問到而已
子類被建立的時候並不會建立一個父類對象,只是會調用父類的構造器
如下說法錯誤的是()spa
正確答案: C
A 數組是一個對象
B 數組不是一種原生類
C 數組的大小能夠任意改變
D 在Java中,數組存儲在堆中連續內存空間裏code
Java中數組是對象,不是基本數據類型(原生類),大小不可變且連續存儲,由於是對象因此存在堆中。 1.Java中數組是對象,數組的父類是Object new array[0].getClass().getSuperClass() 新建一個數組獲取父類是Object.class 2.數組類是在運行的過程當中建立的 3.Java中數組內容存儲在連續的堆內存中,數組名(引用) 存儲在棧內存中指向堆內存中的內容
java語言的下面幾種數組複製方法中,哪一個效率最高?
正確答案: B
A for 循環逐一複製
B System.arraycopy
C Array.copyOf
D 使用clone方法對象
複製的效率System.arraycopy>clone>Arrays.copyOf>for循環,這個有興趣本身測試一下就知道了。這裏面在System類源碼中給出了arraycopy的方法,是native方法,也就是本地方法,確定是最快的。而Arrays.copyOf(注意是Arrays類,不是Array)的實現,在源碼中是調用System.copyOf的,多了一個步驟,確定就不是最快的。前面幾個說System.copyOf的不要看,System類底層根本沒有這個方法,本身看看源碼就全知道了