精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影

認證培訓,h3c認證體系,網(wǎng)絡(luò )工程師
豐沃創(chuàng  )新

JAVA基礎易混知識點(diǎn)對比【網(wǎng)絡(luò )工程師培訓】

  • 發(fā)布時(shí)間: 2019-6-3 9:30:45

1、Primitive vs Reference variable

primitive變量有默認值

primitive變量存儲值,reference變量存儲對象在heap中的handle

primitive變量賦值是值的拷貝(互不影響),reference變量賦值是handle的拷貝(操作會(huì )影響另一方)

primitive變量使用==比較,reference變量使用equals()比較

primitive變量作為參數傳遞的是值,reference變量作為參數傳遞的是handle的拷貝

primitive變量參數的值在方法內被修改不影響原有值,reference變量參數修改handle不影響原有值但使用handle可以修改內部的值

primitive變量作為方法的返回值時(shí)返回的是值,返回reference變量時(shí)返回的是handle可以繼續在方法外使用

primitive變量存儲在stack,reference變量存儲在heap

2、Static vs Non Static class

類(lèi)分為頂級類(lèi)和嵌套內部類(lèi)(還有特殊的匿名類(lèi))

頂級類(lèi)不能被定義為static,嵌套內部類(lèi)可以選擇是否為static

嵌套內部類(lèi)如果是static的話(huà)一般叫嵌套類(lèi),非static的叫內部類(lèi)

嵌套類(lèi)和內部類(lèi)的創(chuàng )建方法不同:

Outer.Nested nested = new Outer.Nested();

Outer.Inner inner = new Outer().new Inner();

嵌套類(lèi)可以被看做外部類(lèi)的一個(gè)靜態(tài)成員,可以在static方法中被使用

嵌套類(lèi)不可以訪(fǎng)問(wèn)外部類(lèi)的非static成員,內部類(lèi)可以

3、Interface vs Abstract Class

抽象類(lèi)只能extend一個(gè),接口可以implement多個(gè)

抽象類(lèi)中可以定義非抽象方法,接口中不能定義非抽象方法(JDK8默認方法除外)

抽象類(lèi)中即使沒(méi)有抽象方法也可以標記為abstract

抽象類(lèi)可以添加方法不影響子類(lèi),接口中添加方法需要修改所以它的實(shí)現類(lèi)

抽象類(lèi)適合代碼重用,接口適合類(lèi)型同一

接口沒(méi)有方法實(shí)現更易于解耦

接口可以實(shí)現依賴(lài)注入

接口里的變量默認是public final

接口不可實(shí)例化,抽象類(lèi)不可實(shí)例化但可以invoked

4、Error vs Exception

常見(jiàn)Error:OutOfMemoryError

Error不需要try-catch即使catch了也無(wú)法解決,Exception異常catch后可做后續處理

RuntimeException表示的是程序代碼的錯誤,Erro多為系統環(huán)境上致命錯誤

5、ArrayList vs LinkedList

ArrayList后臺通過(guò)數組實(shí)現,LinkedList通過(guò)鏈表實(shí)現(嵌套類(lèi)存儲前后節點(diǎn))

LinkedList不只是實(shí)現了List還實(shí)現了Deque(FIFO)。add(),poll()

添加元素:ArrayList-O(1) LinkedList-O(1)

刪除元素:ArrayList-O(n) LinkedList-O(n/2)

獲取元素:ArrayList-O(1) LinkedList-O(n/2)

精品福利视频一区二区三区,免费A级毛片无码无遮挡,偷窥目拍性综合图区,亚洲欧洲无码AV电影在线观看,超清无码熟妇人妻AV在线电影