Java基礎(chǔ)知識(shí)部分總結(jié)
一:Java運(yùn)行機(jī)制
1.Java 運(yùn)行的簡(jiǎn)單機(jī)制(抽象)
◆編寫源代碼文件
◆用編譯器運(yùn)行源代碼,編譯器會(huì)檢查錯(cuò)誤,如果有錯(cuò)就要改正才能產(chǎn)生正確的輸出
◆編譯器會(huì)產(chǎn)生出字節(jié)碼,任何Java的裝置都能夠把它轉(zhuǎn)義可執(zhí)行的內(nèi)容,編譯后的字節(jié)與平臺(tái)是無(wú)關(guān)的
◆Java虛擬機(jī)會(huì)讀取與執(zhí)行字節(jié)碼。
2.用Java的語(yǔ)言也可以這樣說(具體)
◆編寫源代碼(比如Party.Java)
◆執(zhí)行Javac程序來(lái)編譯Party.Java,如果程序沒有錯(cuò)誤的話,會(huì)產(chǎn)生Party.class這個(gè)文件(編譯出來(lái)的文件是由字節(jié)碼組成的).
◆輸出Party.class并且編譯成成為字節(jié)碼文件
◆啟動(dòng)Java虛擬機(jī)(jvm)來(lái)運(yùn)行Party.class文件。JVM會(huì)將字節(jié)碼轉(zhuǎn)換成平臺(tái)能夠理解的形式來(lái)運(yùn)行
二:Java基礎(chǔ)知識(shí)總結(jié)
1.反復(fù)做某件事的時(shí)候我們用for,while ,在適當(dāng)條件下做某事if/else
2.面向?qū)ο蟮膬?yōu)點(diǎn):***他幫我用更自然的方法設(shè)計(jì)程序,第二加入新功能的時(shí)候不會(huì)搞亂已經(jīng)寫好的程序代碼,第三我喜歡將數(shù)據(jù)與操作他的方法
放到同一個(gè)類中,第四類可以重復(fù)的運(yùn)行在別的列中,當(dāng)寫一個(gè)全新的類時(shí),可以使該類有足夠的擴(kuò)展性,以便以后用到
3.設(shè)計(jì)一個(gè)類的思想:當(dāng)我們?cè)谠O(shè)計(jì)類時(shí),要記得對(duì)象是靠類的模型塑造出來(lái)的,我們可以這樣來(lái)想,對(duì)象是已知的事物(實(shí)例變量,對(duì)象中聲明的變量),
對(duì)象會(huì)執(zhí)行動(dòng)作(對(duì)象中的方法)
4.類對(duì)象到底有什么不同:類不是對(duì)象,類是用來(lái)創(chuàng)建對(duì)象的模型(對(duì)象就好像通訊錄中的一支筆)
5.main方法的用途:***:測(cè)試真正的類,第二:?jiǎn)?dòng)Java應(yīng)用程序
6.變量有兩種:primitive(保存基本的數(shù)據(jù)類型)和引用數(shù)據(jù)類型(保存對(duì)象的引用)
◆privitive類型包括: byte(8) short(16) int(32) long(64) float(32) double(64) char(16) boolean String
◆privitive各類型的取值情況:byte (-128 ~127) short(-32768-32768) int (-2147483648-2147483648)
long(-很大-+很大) float(范圍規(guī)??勺? double(范圍規(guī)??勺? char(0-65535)
7.保留關(guān)鍵字:strictfp,volatile,assert
8.Java的命名規(guī)則:***名稱必須是以字母,_,$開頭,不能用數(shù)字開頭,第二是避開關(guān)鍵字
9.Java注重類型:一旦數(shù)組被聲明出來(lái)了,你就只能轉(zhuǎn)入所聲明的類型元素
10.對(duì)Java程序做簡(jiǎn)單的封裝:盡量將變量定義為private類型的,并且提供公有的getter,setter來(lái)獲取修改值 (好處:禁止壞人做不要的改動(dòng))
11.Java中==和equals的用法:==用來(lái)判斷兩個(gè)引用是否是指向同一個(gè)變量的,equals是比較兩個(gè)變量的內(nèi)容是不是一樣的
12.開發(fā)類:***找出類應(yīng)該做的事情,第二列出實(shí)例變量和方法,第三編寫方法的偽碼,第四編寫方法的測(cè)試應(yīng)用程序,第五實(shí)現(xiàn)類,第六測(cè)試方法
(編寫偽代碼,編寫測(cè)試碼,編寫真實(shí)碼)
13.繼承:
◆子類是extends父類出來(lái)的
◆子類會(huì)繼承父類的所有的public類型的變量和方法,但是不是繼承下來(lái)private類型的變量和方法
◆繼承下來(lái)的方法可以被覆蓋掉,但實(shí)例變量是不能被覆蓋掉的
◆使用IS-A法則來(lái)驗(yàn)證集成結(jié)構(gòu)的合理性
◆IS-A的關(guān)系是當(dāng)方向的,河馬是動(dòng)物,但是動(dòng)物不是河馬
◆當(dāng)某個(gè)方法被覆蓋過了,調(diào)用這個(gè)方法時(shí)會(huì)調(diào)用到這個(gè)被覆蓋過的版本
14.覆蓋遵循的規(guī)則:***參數(shù)必須一樣,且返回類型必須兼容,第二不能降低方法的存取權(quán)限
15.方法重載:方法的參數(shù)必需的不同(順序,類型,個(gè)數(shù)),方法名字必須是相同的,方法的返回值自定,可以任意的設(shè)定權(quán)限
16.方法的選擇調(diào)用:編譯器是根據(jù)引用類型來(lái)判斷有些方法method可以調(diào)用,而不是根據(jù)Object確實(shí)的類型
17.多態(tài)最通俗的說法:可以讓我們繼承超過一個(gè)以上的來(lái)源
18.接口方法當(dāng)注意:接口的方法一定是抽象的,所以必須以分號(hào)結(jié)束,記住,他們沒有內(nèi)容
19.教你一招,類,子類,抽象類,接口:
◆***如果新的類無(wú)法對(duì)其它的類通過IS-A測(cè)試時(shí),就不設(shè)計(jì)繼承其它的類,
◆第二只有在需要某類的特殊化版本時(shí),以覆蓋或加添的方法來(lái)繼承現(xiàn)有的類,
◆第三當(dāng)你需要定義一群子類的模板時(shí),又不想讓程序員初始化此模板,設(shè)計(jì)除抽象的類給他們用,
◆第四如果想定義出類想要扮演的角色,使用接口
以上是Java基礎(chǔ)知識(shí),我把Java基礎(chǔ)知識(shí)總結(jié)的十九條,希望對(duì)大家有所幫助。
【編輯推薦】