零基礎學Java,必須要搞懂的10個問題!

千鋒武漢發表於2021-10-08

       Java是當前網際網路行業內的熱門語言,不僅可以應用於Android和網站開發而且也廣泛應用於金融服務、高頻金融空間等領域。也正是因為高居不下的熱度,越來越多的人選擇學習Java語言。那麼零基礎學 都需要搞懂哪些問題呢?本文小千整理了學 需要搞懂的10個問題,一起來看看吧!

44

       1、Java語言的特點,Java與c++的區別

       Java語言具有簡單易學、安全性、可靠性、支援多線程式設計、編譯和解釋共存、與平臺無關性等特點。Java與c++都是物件導向的語言。兩者的區別是,C++的類支援多重繼承,而Java的類是單繼承的,但介面是多繼承的。

       2、Java應用程式和小程式的區別

       通俗來講,applet小程式並沒有main方法,而是類似於flash小遊戲,主要嵌在瀏覽器頁面上執行(呼叫init()執行緒或run來啟動),而應用程式則是利用main方法,即主執行緒啟動。

       3、Java物件導向程式設計的三大特性

       Java物件導向程式設計的三大特性分別是:封裝、繼承和多型。

       封裝:即將一個物件的屬性私有化,另外提供一些可以被外界訪問屬性的方法。屬性不想被外界訪問的情況下,可以不像外界提供訪問的方法。不過,一個類若不向外界提供可訪問的方法,就毫無意義可言了。

       繼承:即使用已存類的定義作為基礎建立新類。新類的定義不僅增添了新的資料和功能而且可以使用父類的功能,但是不能選擇性的繼承父類。

       多型:指程式中定義的引用變數指向的具體型別和依靠此引用變數發出的方法呼叫在程式設計中並不確定。而是在執行過程中才確定。

       4、物件導向和麵向過程的區分

       一,物件導向具有封裝、繼承、多型性等特點,因此可以設計出低耦合的系統,且易於維護、複用、和擴充套件。而物件導向的缺點是在效能方面比程式導向要低。

       二,程式導向的優點是效能相比於物件導向要低。但缺點是在維護、複用、擴充套件方面的作用低於物件導向。

       5、過載和重寫的區別

       過載:過載發生在同一類中,方法名一定要相同,而引數類、個數、順序可以不同。

       重寫:重寫發生在父子類中,方法名以及引數列要保證相同,但返回值範圍、所丟擲的異常範圍小於等於父類;而訪問修飾符則大於等於父類。

       6、成員變數與區域性變數的區別

       首先,從語法方面來看。成員變數屬於類,而區域性變數是方法的引數或者是在方法中定義的變數;而區域性變數不同於成員變數,不可被static修飾,也不能被訪問控制修飾符所修飾。

       其次,從變數在記憶體中的生存時間方面來看。區域性變數會隨著方法的呼叫而自動消失,而成員變數是對的組成部分,會隨著物件的建立而存在。

       此外,如果成員變數沒有被賦予初值,那麼將會自動以型別的預設值而賦值,但區域性變數則不會自動賦值。

       7、構造方法的特性有哪些

       構造方法的特性主要包括:不存在返回值,但不可用void宣告建構函式;自動執行生成類的物件,不許呼叫;名字和類名相同。

       8、什麼是方法的返回值?返回值在類的方法裡的作用是什麼?

       所謂方法的返回值是指獲取到某個方法體中的程式碼執行後所產生的效果。其作用是,接受出結果以供其他操作使用。

       9、執行緒有哪些基本狀態?

       Java執行緒的基本狀態分為NEW(初始狀態)、RUNNABLE(執行狀態)、BLOCKED(阻塞狀態)、WAITING(等待狀態)、TIME_WAITING(超時等待狀態)、TERMINATED(中止狀態)。

       10、Java序列化中如果有些欄位不想進行序列,該如何處理?

       使用transient關鍵字修飾是對於不想進行序列化的變數的處理方式。不過transient僅僅只能修飾變數,卻不能修飾類和方法。被其修飾的變數值將不會被持久化更不會被恢復。

       以上就是小千總結的 零基礎學Java需要搞懂的十個問題。 如果你想學好Java開發,可以關注小千,後期會分享更多Java知識。

       本文來自千鋒教育,轉載請註明出處。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2794832/,如需轉載,請註明出處,否則將追究法律責任。

相關文章