更新時間:2022-03-28 13:24:09 來源:動力節(jié)點 瀏覽2503次
覆蓋:覆蓋與運行時Java的多態(tài)性有關(guān)。子類(或派生類)在運行時提供超類(或基類)中方法的特定實現(xiàn)。
重載:重載與編譯時(或靜態(tài))多態(tài)性有關(guān)。此功能允許不同的方法具有相同的名稱,但不同的簽名,特別是輸入?yún)?shù)的數(shù)量和輸入?yún)?shù)的類型。
我們可以重載靜態(tài)方法嗎? 答案是“是”。我們可以有兩個或多個同名但輸入?yún)?shù)不同的靜態(tài)方法
我們可以覆蓋java中的靜態(tài)方法嗎? 我們可以在子類中聲明具有相同簽名的靜態(tài)方法,但它不被視為重寫,因為不會有任何運行時多態(tài)性。因此答案是“否”。靜態(tài)方法不能被覆蓋,因為方法覆蓋只發(fā)生在方法的動態(tài)(即運行時)查找的上下文中。靜態(tài)方法(按其名稱)是靜態(tài)查找的(即在編譯時)。
程序編譯成功。但在運行時會拋出錯誤“NoSuchMethodError”。
成員變量(類級別范圍):成員變量必須在類內(nèi)(任何函數(shù)外)聲明。它們可以在課堂的任何地方直接訪問
局部變量(方法級作用域):在方法內(nèi)聲明的變量具有方法級作用域,不能在方法外訪問。
循環(huán)變量(塊范圍):在方法中的一對括號“{”和“}”內(nèi)聲明的變量僅在括號內(nèi)具有范圍。
在實例方法或構(gòu)造函數(shù)中,this 是對當前對象的引用——調(diào)用其方法或構(gòu)造函數(shù)的對象。您可以使用 this 從實例方法或構(gòu)造函數(shù)中引用當前對象的任何成員。
這個關(guān)鍵字的使用
用于引用當前類實例變量。
調(diào)用當前類構(gòu)造函數(shù)。
它可以作為方法調(diào)用中的參數(shù)傳遞。
它可以在構(gòu)造函數(shù)調(diào)用中作為參數(shù)傳遞。
用于返回當前類實例。
用于調(diào)用當前類方法(隱式)
Java中的主要方法是沒有地外方法。除了 main() 就像任何其他方法一樣并且可以以類似的方式重載之外,JVM 總是尋找方法簽名來啟動程序。
普通的 main 方法作為 JVM 開始執(zhí)行程序的入口點。
我們可以重載Java中的main方法。但是當我們運行你的程序時,程序不會執(zhí)行重載的main方法,我們只需要從實際的main方法中調(diào)用重載的main方法。
在 C++ 和 Java 中,只有返回類型不同的函數(shù)不能被重載。函數(shù)的返回類型不是編譯器生成的用于唯一標識每個函數(shù)的錯位名稱的一部分。No of arguments, Type of arguments & Sequence of arguments 是用于為每個函數(shù)生成唯一的重整名稱的參數(shù)。即使名稱相同(重載),編譯器也可以基于這些獨特的錯位名稱來理解要調(diào)用哪個函數(shù)。
java中的super關(guān)鍵字是一個引用變量,用來引用父類對象。關(guān)鍵詞“super”帶著繼承的概念出現(xiàn)了。每當您創(chuàng)建子類的實例時,都會隱式創(chuàng)建父類的實例,即由超引用變量引用。
java super關(guān)鍵字的各種使用場景:
super 用于引用直接父實例變量
super用于調(diào)用父類方法
super() 用于調(diào)用直接父構(gòu)造函數(shù)
java中的static關(guān)鍵字主要用于內(nèi)存管理。我們可以將 java static 關(guān)鍵字應(yīng)用于變量、方法、塊和嵌套類。static 關(guān)鍵字屬于類而不是類的實例。
靜態(tài)可以是:
變量(也稱為類變量)
方法(也稱為類方法)
堵塞
嵌套類
(1)HashMap 不同步。它不是線程安全的,并且在沒有適當?shù)耐酱a的情況下不能在多個線程之間共享,而 Hashtable 是同步的。它是線程安全的,可以與許多線程共享。
(2)HashMap 允許一個空鍵和多個空值,而 Hashtable 不允許任何空鍵或空值。
(3)如果不需要線程同步,HashMap 通常優(yōu)于 HashTable
在 Java 中,所有對象都在Heap上動態(tài)分配。這與 C++ 中的對象可以在堆棧或堆上分配內(nèi)存不同。在 C++ 中,當我們使用 new() 分配對象時,對象分配在堆上,否則如果不是全局或靜態(tài)的,則在堆棧上分配。
在Java中,當我們只聲明一個類類型的變量時,只會創(chuàng)建一個引用(不為對象分配內(nèi)存)。要將內(nèi)存分配給對象,我們必須使用 new()。所以對象總是在堆上分配內(nèi)存。
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;
對象克隆意味著創(chuàng)建原始對象的精確副本。如果一個類需要支持克隆,它必須實現(xiàn) java.lang.Cloneable 接口并覆蓋 Object 類的 clone() 方法。clone() 方法的語法是:
protected Object clone() throws CloneNotSupportedException
如果對象的類沒有實現(xiàn) Cloneable 接口,那么它會拋出異常 'CloneNotSupportedException' 。
以上就是關(guān)于“2022年Java基礎(chǔ)筆試題及答案”的介紹,如果大家想了解更多相關(guān)知識,可以進行Java基礎(chǔ)筆試題目的相關(guān)學(xué)習(xí),相信對大家的學(xué)習(xí)一定會有所幫助。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743