更新時間:2022-03-28 13:24:09 來源:動力節點 瀏覽2525次
覆蓋:覆蓋與運行時Java的多態性有關。子類(或派生類)在運行時提供超類(或基類)中方法的特定實現。
重載:重載與編譯時(或靜態)多態性有關。此功能允許不同的方法具有相同的名稱,但不同的簽名,特別是輸入參數的數量和輸入參數的類型。
我們可以重載靜態方法嗎? 答案是“是”。我們可以有兩個或多個同名但輸入參數不同的靜態方法
我們可以覆蓋java中的靜態方法嗎? 我們可以在子類中聲明具有相同簽名的靜態方法,但它不被視為重寫,因為不會有任何運行時多態性。因此答案是“否”。靜態方法不能被覆蓋,因為方法覆蓋只發生在方法的動態(即運行時)查找的上下文中。靜態方法(按其名稱)是靜態查找的(即在編譯時)。
程序編譯成功。但在運行時會拋出錯誤“NoSuchMethodError”。
成員變量(類級別范圍):成員變量必須在類內(任何函數外)聲明。它們可以在課堂的任何地方直接訪問
局部變量(方法級作用域):在方法內聲明的變量具有方法級作用域,不能在方法外訪問。
循環變量(塊范圍):在方法中的一對括號“{”和“}”內聲明的變量僅在括號內具有范圍。
在實例方法或構造函數中,this 是對當前對象的引用——調用其方法或構造函數的對象。您可以使用 this 從實例方法或構造函數中引用當前對象的任何成員。
這個關鍵字的使用
用于引用當前類實例變量。
調用當前類構造函數。
它可以作為方法調用中的參數傳遞。
它可以在構造函數調用中作為參數傳遞。
用于返回當前類實例。
用于調用當前類方法(隱式)
Java中的主要方法是沒有地外方法。除了 main() 就像任何其他方法一樣并且可以以類似的方式重載之外,JVM 總是尋找方法簽名來啟動程序。
普通的 main 方法作為 JVM 開始執行程序的入口點。
我們可以重載Java中的main方法。但是當我們運行你的程序時,程序不會執行重載的main方法,我們只需要從實際的main方法中調用重載的main方法。
在 C++ 和 Java 中,只有返回類型不同的函數不能被重載。函數的返回類型不是編譯器生成的用于唯一標識每個函數的錯位名稱的一部分。No of arguments, Type of arguments & Sequence of arguments 是用于為每個函數生成唯一的重整名稱的參數。即使名稱相同(重載),編譯器也可以基于這些獨特的錯位名稱來理解要調用哪個函數。
java中的super關鍵字是一個引用變量,用來引用父類對象。關鍵詞“super”帶著繼承的概念出現了。每當您創建子類的實例時,都會隱式創建父類的實例,即由超引用變量引用。
java super關鍵字的各種使用場景:
super 用于引用直接父實例變量
super用于調用父類方法
super() 用于調用直接父構造函數
java中的static關鍵字主要用于內存管理。我們可以將 java static 關鍵字應用于變量、方法、塊和嵌套類。static 關鍵字屬于類而不是類的實例。
靜態可以是:
變量(也稱為類變量)
方法(也稱為類方法)
堵塞
嵌套類
(1)HashMap 不同步。它不是線程安全的,并且在沒有適當的同步代碼的情況下不能在多個線程之間共享,而 Hashtable 是同步的。它是線程安全的,可以與許多線程共享。
(2)HashMap 允許一個空鍵和多個空值,而 Hashtable 不允許任何空鍵或空值。
(3)如果不需要線程同步,HashMap 通常優于 HashTable
在 Java 中,所有對象都在Heap上動態分配。這與 C++ 中的對象可以在堆棧或堆上分配內存不同。在 C++ 中,當我們使用 new() 分配對象時,對象分配在堆上,否則如果不是全局或靜態的,則在堆棧上分配。
在Java中,當我們只聲明一個類類型的變量時,只會創建一個引用(不為對象分配內存)。要將內存分配給對象,我們必須使用 new()。所以對象總是在堆上分配內存。
Java 中的 final 變量只能被賦值一次,我們可以在聲明中或之后賦值。
final int i = 10;
i = 30; // Error because i is final.
Java中的空白最終變量是在聲明期間未初始化的最終變量。下面是一個空白final的簡單例子。
// A simple blank final example
final int i;
i = 30;
對象克隆意味著創建原始對象的精確副本。如果一個類需要支持克隆,它必須實現 java.lang.Cloneable 接口并覆蓋 Object 類的 clone() 方法。clone() 方法的語法是:
protected Object clone() throws CloneNotSupportedException
如果對象的類沒有實現 Cloneable 接口,那么它會拋出異常 'CloneNotSupportedException' 。
以上就是關于“2022年Java基礎筆試題及答案”的介紹,如果大家想了解更多相關知識,可以進行Java基礎筆試題目的相關學習,相信對大家的學習一定會有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習