Java基礎知識點1

1.Java的基本數據類型:
byte(1字節)short(2字節)int(4字節)long(8字節)char(2字節)float(4字節)double(8字節)boolean
2.支持的四種變量形式:實例變量(屬性)靜態屬性(類變量)局部變量 參數
3.Java中的三個內存與區域:形參和局部變量在棧區,屬性(對象)在堆區,靜態變量在方法區
4.重寫:(1)發生在父類和子類之間(2)方法名、參數列表、返回類型必須相同(3)訪問修飾符的限制一定要大於或等於被重寫方法的訪問修飾符(4)重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常
5.重載:在一個類中,同名的方法如果有不同的參數列表(參數類型不同,參數個數不同甚至是參數順序不同)則視爲重載。同時,重載對返回類型沒有要求,可以相同也可以不同,但不能通過返回類型是否相同來判斷重載
6.訪問限定符:public > protected > default > private
public 是任何類中都可以訪問
protected 是同一個包中的所有類和包外的子類可以訪問
default 是包私有,只有類內部和同一個包的其他類能訪問
7.static 關鍵字用法:
(1)修飾成員變量,將其變成類的成員,從而實現所有對象對於該成員的共享
(2)修飾成員方法,將其變成類方法,可以直接使用 “類名.方法名” 調用,與外部對象解綁
(3)修飾代碼塊,將多個類成員放在一起初始化,是程序更加規整
(4)靜態導包用法,將類的方法直接導入到當前類中,從而直接使用 “方法名” 即可調用類方法
(5)修飾類,靜態內部類
8.final 關鍵字用法:
(1)被修飾的類不能被繼承
(2)被修飾的方法不能被覆寫
(3)被修飾的變量不能更改
9.abstract 關鍵字用法:
(1)修飾類不能被實例化
(2)修飾方法不能有方法體
10.抽象類和接口的區別:
(1)抽象類是用來描述子類的通用特性的,而接口是抽象方法的集合。抽象類不能被實例化,只能被用作子類的超類,而接口只是一種形式,接口自身不能做任何事情
(2)抽象類可以有默認的方法實現,子類使用extends關鍵字來繼承抽象類,如果子類不是抽象類的話,他需要提供抽象類中所有抽象方法的實現。而接口完全是抽象的,它根本不存在方法的實現,子類使用關鍵字implements 來實現接口,他需要提供接口中所有聲明方法的實現。
(3)抽象類可以有構造器,除了不能實例化抽象類之外,他和普通的Java類沒有任何區別。而接口不能有構造器,是完全不同的類型,接口方法默認修飾符是public,不能有其他修飾符。
11.String 類:
(1)String 對象的創建和初始化
使用字符串常量直接初始化,則對象是在常量池
使用構造方法初始化,則對象是在堆區
(2)字符串一旦聲明不可改變
12.String、StringBuilder、StringBuffer的區別:
運行速度:StringBuilder > StringBuffer > String
因爲String爲字符串常量,而StringBuilder和StringBuffer均爲字符串常量,即String對象一旦創建後,該對象是不可更改的,但後兩者的對象是變量,是可以更改的
13.==和equals的區別:
其中==的作用是判斷兩個對象的地址是不是相等,即判斷兩個對象是不是同一個對象
equals的作用是判斷兩個對象是否相等(即對象的內容)
14.Comparable和Comparator的區別:
實現Comparator接口代碼更加靈活,可以定義某個類的多個比較器,從而在排序時根據實際場景自由調用,而Comparable接口實現後便不能再改動,即只能實現一種排序方法。
15.泛型:爲了讓錯誤儘可能在編譯期間出現。泛型是工作在編譯期間的一種機制,編譯器在編譯期間將E變換成一種具體的類型,稱爲類型擦除。







































發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章