最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

java基礎(chǔ)知識(shí)分享篇

2021-07-20 17:12 作者:每天一個(gè)禿頂小技巧  | 我要投稿

這篇文章就單純的和大家分享一些基礎(chǔ)知識(shí)

每部分內(nèi)容會(huì)重點(diǎn)寫一些常見(jiàn)知識(shí)點(diǎn),方便復(fù)習(xí)和記憶,但并不是全部?jī)?nèi)容。

以下內(nèi)容是看java300集所做的個(gè)人筆記哦

上干貨

1、面向?qū)ο笕筇匦?span id="s0sssss00s" class="font-size-16">

繼承:一般類只能單繼承,內(nèi)部類實(shí)現(xiàn)多繼承,接口可以多繼承

封裝:訪問(wèn)權(quán)限控制public > protected > 包 > private 內(nèi)部類也是一種封裝

多態(tài):編譯時(shí)多態(tài),體現(xiàn)在向上轉(zhuǎn)型和向下轉(zhuǎn)型,通過(guò)引用類型判斷調(diào)用哪個(gè)方法(靜態(tài)分派)。

運(yùn)行時(shí)多態(tài),體現(xiàn)在同名函數(shù)通過(guò)不同參數(shù)實(shí)現(xiàn)多種方法(動(dòng)態(tài)分派)。

2、基本數(shù)據(jù)類型

1. 基本類型位數(shù),自動(dòng)裝箱,常量池。

2. 例如byte類型是1byte也就是8位,可以表示的數(shù)字是-128到127,因?yàn)檫€有一個(gè)0,加起來(lái)一共是256,也就是2的八次方。

32位和64位機(jī)器的int是4個(gè)字節(jié)也就是32位,char是1個(gè)字節(jié)就是8位,float是4個(gè)字節(jié),double是8個(gè)字節(jié),long是8個(gè)字節(jié)。

3. 基本數(shù)據(jù)類型的包裝類只在數(shù)字范圍-128到127中用到常量池,會(huì)自動(dòng)拆箱裝箱,其余數(shù)字范圍的包裝類則會(huì)新建實(shí)例。

3、String及包裝類

1. String類型是final類型,在堆中分配空間后內(nèi)存地址不可變。

2. 底層是final修飾的char[]數(shù)組,數(shù)組的內(nèi)存地址同樣不可變。

但實(shí)際上可以通過(guò)修改char[n] = 'a'來(lái)進(jìn)行修改,不會(huì)改變String實(shí)例的內(nèi)存值,不過(guò)在jdk中,用戶無(wú)法直接獲取char[],也沒(méi)有方法能操作該數(shù)組。

所以String類型的不可變實(shí)際上也是理論上的不可變。所以我們?cè)诜峙銼tring對(duì)象以后,如果將其 = "abc",那也只是改變了引用的指向,實(shí)際上沒(méi)有改變?cè)瓉?lái)的對(duì)象。

3. StringBuffer和StringBuilder底層是可變的char[]數(shù)組,繼承父類AbstractStringBuilder的各種成員和方法,實(shí)際上的操作都是由父類方法來(lái)完成的。

4、final關(guān)鍵字

1. final修飾基本數(shù)據(jù)類型保證不可變

2. final修飾引用保證引用不能指向別的對(duì)象,否則會(huì)報(bào)錯(cuò)。

3. final修飾類,類的實(shí)例分配空間后地址不可變,子類不能重寫所有父類方法。因此在cglib動(dòng)態(tài)代理中,不能為一個(gè)類的final修飾的函數(shù)做代理,因?yàn)閏glib要將被代理的類設(shè)置為父類,然后再生成字節(jié)碼。

final修飾方法,子類不能重寫該方法。

5、抽象類和接口

1. 抽象類可以有方法實(shí)現(xiàn)。 抽象類可以有非final成員變量。 抽象方法要用abstract修飾。 抽象類可以有構(gòu)造方法,但是只能由子類進(jìn)行實(shí)例化。

2. 接口可以用extends加多個(gè)接口實(shí)現(xiàn)多繼承。 接口只能有public final類型的成員變量。 接口只能有抽象方法,不能有方法體、 接口不能實(shí)例化,但是可以作為引用類型。

6、代碼塊和加載順序

假設(shè)該類是第一次進(jìn)行實(shí)例化。那么有如下加載順序 靜態(tài)總是比非靜態(tài)優(yōu)先,從早到晚的順序是:?

1. 靜態(tài)代碼塊 和 靜態(tài)成員變量的順序根據(jù)代碼位置前后來(lái)決定。

2. 代碼塊和成員變量的順序也根據(jù)代碼位置來(lái)決定 3. 最后才調(diào)用構(gòu)造方法構(gòu)造方法

7、包、內(nèi)部類、外部類

1. Java項(xiàng)目一般從src目錄開(kāi)始有com...A.java這樣的目錄結(jié)構(gòu)。這就是包結(jié)構(gòu)。所以一般編譯后的結(jié)構(gòu)是跟包結(jié)構(gòu)一模一樣的,這樣的結(jié)構(gòu)保證了import時(shí)能找到正確的class引用包訪問(wèn)權(quán)限就是指同包下的類可見(jiàn)。

import 一般加上全路徑,并且使用.*時(shí)只包含當(dāng)前目錄的所有類文件,不包括子目錄。

2. 外部類只有public和default兩種修飾,要么全局可訪問(wèn),要么包內(nèi)可訪問(wèn)。

3. 內(nèi)部類可以有全部訪問(wèn)權(quán)限,因?yàn)樗母拍罹褪且粋€(gè)成員變量,所以訪問(wèn)權(quán)限設(shè)置與一般的成員變量相同。

非靜態(tài)內(nèi)部類是外部類的一個(gè)成員變量,只跟外部類的實(shí)例有關(guān)。

靜態(tài)內(nèi)部類是獨(dú)立于外部類存在的一個(gè)類,與外部類實(shí)例無(wú)關(guān),可以通過(guò)外部類.內(nèi)部類直接獲取Class類型。

8、異常

1. 異常體系的最上層是Throwable類 子類有Error和Exception Exception的子類又有RuntimeException和其他具體的可檢查異常。

2. Error是jvm完全無(wú)法處理的系統(tǒng)錯(cuò)誤,只能終止運(yùn)行。

運(yùn)行時(shí)異常指的是編譯正確但運(yùn)行錯(cuò)誤的異常,如數(shù)組越界異常,一般是人為失誤導(dǎo)致的,這種異常不用try catch,而是需要程序員自己檢查。

可檢查異常一般是jvm處理不了的一些異常,但是又經(jīng)常會(huì)發(fā)生,比如Ioexception,Sqlexception等,是外部實(shí)現(xiàn)帶來(lái)的異常。

3. 多線程的異常流程是獨(dú)立的,互不影響。 大型模塊的子模塊異常一般需要重新封裝成外部異常再次拋出,否則只能看到最外層異常信息,難以進(jìn)行調(diào)試。

日志框架是異常報(bào)告的最好幫手,log4j,slf4j中,在工作中必不可少。

9、泛型

1. Java中的泛型是偽泛型,只在編譯期生效,運(yùn)行期自動(dòng)進(jìn)行泛型擦除,將泛型替換為實(shí)際上傳入的類型。

泛型類用classA {

}

2. 這樣的形式表示,里面的方法和成員變量都可以用T來(lái)表示類型。泛型接口也是類似的,不過(guò)泛型類實(shí)現(xiàn)泛型接口時(shí)可以選擇注入實(shí)際類型或者是繼續(xù)使用泛型。

3. 泛型方法可以自帶泛型比如void <E> go();

泛型可以使用?通配符進(jìn)行泛化 Object可以接受任何類型

也可以使用 這種方式進(jìn)行上下邊界的限制。

10、Class類和Object類

1. Java反射的基礎(chǔ)是Class類,該類封裝所有其他類的類型信息,并且在每個(gè)類加載后在堆區(qū)生成每個(gè)類的一個(gè)Class<類名>實(shí)例,用于該類的實(shí)例化。

2. Java中可以通過(guò)多種方式獲取Class類型,比如A.class,new A().getClass()方法以及Class.forName("com.?.?.A")方法。

3. Object是所有類的父類,有著自己的一些私有方法,以及被所有類繼承的9大方法。

知乎上有人討論Object和Class類型誰(shuí)先加載誰(shuí)后加載,因?yàn)槊總€(gè)類都要繼承Object,但是又得先被加載到堆區(qū),事實(shí)上,這個(gè)問(wèn)題在JVM初始化時(shí)就解決了,沒(méi)必要多想。

今天就分享到這里啦,同學(xué)們別忘記一鍵三連哦!

java300集YYDS(??????)??

java基礎(chǔ)知識(shí)分享篇的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
尉氏县| 龙胜| 来凤县| 瓦房店市| 吴旗县| 南京市| 隆德县| 康保县| 云龙县| 格尔木市| 凌源市| 响水县| 明星| 辽阳市| 北安市| 沾化县| 平顶山市| 犍为县| 绵竹市| 长垣县| 固始县| 江阴市| 华宁县| 寿宁县| 蓬莱市| 繁昌县| 阜宁县| 浠水县| 黎城县| 龙山县| 桂平市| 承德县| 安岳县| 黑龙江省| 乐亭县| 上林县| 腾冲县| 伊通| 大城县| 夏邑县| 睢宁县|