更新時間:2022-08-03 11:25:58 來源:動力節(jié)點 瀏覽1555次
Inner 類是嵌套在另一個類中的類。內(nèi)部類對嵌套它的類具有訪問權(quán)限,它可以訪問外部類中定義的所有變量和方法。
子類是從另一個稱為超類的類繼承的類。子類可以訪問其父類的所有公共和受保護(hù)的方法和字段。
在 Java 中,訪問說明符是在定義訪問范圍的類名之前使用的關(guān)鍵字。類的訪問說明符類型有:
(1)Public : Class,Method,Field 可以從任何地方訪問。
(2)受保護(hù):方法、字段可以從它們所屬的同一個類或子類中訪問,也可以從同一個包的類中訪問,但不能從外部訪問。
(3)默認(rèn)值:方法、字段、類只能從同一個包中訪問,不能從其本機(jī)包之外訪問。
(4)Private:Method、Field 可以從它們所屬的同一個類中訪問。
當(dāng)需要在一個類的多個對象之間共享一個方法或變量而不是為每個對象創(chuàng)建單獨(dú)的副本時,我們使用 static 關(guān)鍵字來使所有對象共享一個方法或變量。
封裝是面向?qū)ο缶幊讨械囊粋€概念,用于將屬性和方法組合在一個單元中。
封裝有助于程序員遵循模塊化的軟件開發(fā)方法,因為每個對象都有自己的一組方法和變量,并且獨(dú)立于其他對象提供其功能。封裝還用于數(shù)據(jù)隱藏目的。
java中的單例類只能有一個實例,因此它的所有方法和變量都只屬于一個實例。單例類概念對于需要限制類的對象數(shù)量的情況很有用。
單例使用場景的最佳示例是由于某些驅(qū)動程序限制或任何許可問題而限制只能與數(shù)據(jù)庫建立一個連接。
循環(huán)在編程中用于重復(fù)執(zhí)行一個語句或語句塊。Java中有三種類型的循環(huán):
(1)For 循環(huán)
Java中使用for循環(huán)來重復(fù)執(zhí)行語句給定的次數(shù)。當(dāng)程序員知道執(zhí)行語句的次數(shù)時,使用 For 循環(huán)。
(2)While 循環(huán)
當(dāng)某些語句需要重復(fù)執(zhí)行直到滿足某個條件時,使用 While 循環(huán)。在 while 循環(huán)中,在執(zhí)行語句之前首先檢查條件。
(3)執(zhí)行 While 循環(huán)
Do While 循環(huán)與 While 循環(huán)相同,只是在執(zhí)行語句塊后檢查條件。因此,在 do while 循環(huán)的情況下,語句至少執(zhí)行一次。
在 java 中,float 占用 4 個字節(jié)的內(nèi)存,而 Double 占用 8 個字節(jié)的內(nèi)存。Float 是單精度浮點十進(jìn)制數(shù),而 Double 是雙精度十進(jìn)制數(shù)。
在java中,常量是使用關(guān)鍵字Final來聲明的。值只能賦值一次,賦值后不能更改常量的值。
在下面的示例中,聲明了一個名為 const_val 的常量并為其賦值:
私有最終 int const_val=100
當(dāng)一個方法被聲明為 final 時,它不能被子類覆蓋。這個方法比任何其他方法都快,因為它們在編譯時被解析。
當(dāng)一個類被聲明為final時,它不能被子類化。示例 String、Integer 和其他包裝類。
java.lang.object
在 java 中,main() 方法不能返回任何數(shù)據(jù),因此,它總是聲明為 void 返回類型。
在 Java 中,包是類和接口的集合,它們相互關(guān)聯(lián),捆綁在一起。包的使用有助于開發(fā)人員模塊化代碼并將代碼分組以進(jìn)行適當(dāng)?shù)闹赜谩R坏┐a被打包到 Packages 中,就可以在其他類中導(dǎo)入并使用。
是的,我們可以通過在類名之前使用 abstract 關(guān)鍵字來創(chuàng)建一個抽象類,即使它沒有任何抽象方法。但是,如果一個類只有一個抽象方法,則必須將其聲明為抽象方法,否則會報錯。
抽象類和接口之間的主要區(qū)別在于,接口只能擁有沒有具體實現(xiàn)的公共靜態(tài)方法的聲明,而抽象類可以擁有具有任何訪問說明符(公共、私有等)的成員,無論是否具有具體實現(xiàn)。
使用抽象類和接口的另一個關(guān)鍵區(qū)別是實現(xiàn)接口的類必須實現(xiàn)接口的所有方法,而從抽象類繼承的類不需要實現(xiàn)其超類的所有方法。
一個類可以實現(xiàn)多個接口,但它只能擴(kuò)展一個抽象類。
與抽象類相比,接口的性能較慢,因為接口需要額外的間接。開發(fā)人員需要考慮的另一個關(guān)鍵因素是任何類只能擴(kuò)展一個抽象類,而一個類可以實現(xiàn)多個接口。
接口的使用也給開發(fā)人員帶來了額外的負(fù)擔(dān),因為任何時候在類中實現(xiàn)接口;開發(fā)人員被迫實現(xiàn)接口的每一種方法。
在java中,當(dāng)一個包被導(dǎo)入時,它的子包是不被導(dǎo)入的,如果需要開發(fā)者需要單獨(dú)導(dǎo)入它們。
例如,如果開發(fā)人員導(dǎo)入包 university.*,則名為 university 的包中的所有類都會被加載,但不會加載子包中的類。要從其子包(例如部門)加載類,開發(fā)人員必須顯式導(dǎo)入它,如下所示:
導(dǎo)入 university.department.*
在java中,main方法必須是public static才能正確運(yùn)行任何應(yīng)用程序。如果 main 方法被聲明為私有,開發(fā)者不會得到任何編譯錯誤,但是它不會被執(zhí)行并且會給出運(yùn)行時錯誤。
在java中,我們只能通過值而不是通過引用將參數(shù)傳遞給函數(shù)。
在java中,為了將對象序列化為字節(jié)流,類實現(xiàn)了一個名為Serializable的接口。實現(xiàn)可序列化接口的類的所有對象都被序列化,并且它們的狀態(tài)保存在字節(jié)流中。
當(dāng)需要通過網(wǎng)絡(luò)傳輸數(shù)據(jù)時使用序列化。使用序列化,對象的狀態(tài)被保存并轉(zhuǎn)換為字節(jié)流。字節(jié)流通過網(wǎng)絡(luò)傳輸,對象在目的地重新創(chuàng)建。
Try 塊需要后跟 Catch 塊或 finally 塊或兩者。從 try 塊拋出的任何異常都需要在 catch 塊中捕獲,或者在代碼中止之前要執(zhí)行的任何特定任務(wù)都放在 finally 塊中。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743