這是我個人歸納的一些知識點(diǎn),我覺得初學(xué)java首先需要重以下的知識開始?
(1)JAVA程序開發(fā)步驟:?
源代碼-->編譯成*.class-->執(zhí)行(將.class交給JVM)?
jvm--java虛擬機(jī)(解釋器)?
(2)?
JDK?--?java開發(fā)工具包(編譯器、解釋器、類庫)?
JSDK?--?java標(biāo)準(zhǔn)開發(fā)工具包?
J2SDK?--?java?2.0?標(biāo)準(zhǔn)開發(fā)工具包;?
J2EE?--?J2SDK?+?網(wǎng)絡(luò)開發(fā)類庫?
J2SE?--?java2.0?標(biāo)準(zhǔn)環(huán)境?
(3)?JAVAHOME?---?jdk安裝目錄;?
編譯器?javahome\bin\javac.exe?
解釋器?javahome\bin\java.exe?
類庫?*.jar?
(4)編譯:?javac?*.java?
執(zhí)行:?java?類名(不能帶.class擴(kuò)展名)?
(5)path環(huán)境變量?
功能:設(shè)置可執(zhí)行文件的搜索路徑?
格式:set?path=%path%;路徑?
%path%?---?代表已有的path信息?
查看:path?
(6)classpath環(huán)境變量?
功能:設(shè)置可?.class文件?的搜索路徑?
格式:set?classpath=%classpath%;路徑?
(7)java開發(fā)工具?
eclipse、jbuilder?
(8)數(shù)據(jù)類型?
原始數(shù)據(jù)類型:byte、char、short、int、long、float、double、boolean?
引用數(shù)據(jù)類型:包括數(shù)組、類、接口?
(9)運(yùn)算符?
運(yùn)算符分為:算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符?
(10)控制語句?
控制語句包括:判斷語句、循環(huán)語句、跳轉(zhuǎn)語句?
(11)數(shù)組?
僅聲明:如?int?[]?array;?
聲明和創(chuàng)建:如?int?[]?array=new?int[5];?
聲明、創(chuàng)建和初始化:如?int?[]?array={1,2,…,n};?
(12)對象?
理解面向?qū)ο蟮母拍睿嫦驅(qū)ο缶幊趟枷氲暮诵氖菍ο?
創(chuàng)建對象:通過關(guān)鍵字new?
對象和類的區(qū)別:對象是實(shí)體,而類是對象的原型?
(13)類?
類的定義:使用關(guān)鍵字class?
類包含的內(nèi)容:屬性、方法(以及構(gòu)造方法)?
構(gòu)造方法:沒有返回類型,方法名和類名一樣?
方法的包含的內(nèi)容:方法名稱、方法返回值的數(shù)據(jù)類型(沒有返回值使用void)、參數(shù)列表、方法的主體?
(14)封裝、抽象、繼承、多態(tài)?
概念:隱藏屬性、方法或?qū)崿F(xiàn)的詳細(xì)信息的處理方式?
引入了修飾符分為:權(quán)限修飾符、非權(quán)限修飾符?
權(quán)限修飾符:private?--?只能在本類中訪問?
public?--?可以在任何地方訪問?
默認(rèn)?--?可以在本包中任何一個類中訪問?
protected?--?可以在本包中、外包子類中訪問?
非權(quán)限修飾符:static?、final、abstract?
(1)static成員可以通過對象調(diào)用,也可以通過類直接調(diào)用?
(2)static方法內(nèi)部不能調(diào)用非靜態(tài)成員?
(3)static?靜態(tài)塊,用于初始化靜態(tài)成員?
(4)final變量,值不可變;?
(5)final方法,不能被子類重寫;?
(6)final類,不能被繼承;?
抽象(abstract)類:(1)抽象方法,沒有具體功能的方法?
(2)抽象類,包含抽象方法的類,抽象類不能生成對象?
(3)沒有任何抽象方法的類,也可以聲明成抽象類?
接口:定義接口的關(guān)鍵字interface,實(shí)現(xiàn)接口的關(guān)鍵字implements?
(1)接口中的所有方法必須是public類型或默認(rèn)類型?
(2)方法僅僅是聲明或定義,而不要求去實(shí)現(xiàn)?
(3)一個類實(shí)現(xiàn)了接口的部分功能,該類應(yīng)該是抽象類?
(4)一個類可以實(shí)現(xiàn)多個接口?
(5)接口可以通過使用關(guān)鍵字extends繼承其他接口?
繼承:使用關(guān)鍵字extends?
(1)子類可以繼承父類的所有方法和屬性?
(2)子類永遠(yuǎn)不會繼承父類的構(gòu)造方法?
(3)創(chuàng)建子類對象時,父類構(gòu)造方法的調(diào)用總是先于子類構(gòu)造方法的調(diào)用?
多態(tài):主要體現(xiàn)為方法的重載和方法的重寫?
(1)方法重載:方法名稱一樣,參數(shù)列表不一樣,不以返回值類型作為判斷條件?
(2)方法重寫:子類繼承父類時,將方法中的方法體重新定義后使用?
(15)異常?
概念:程序運(yùn)行時發(fā)生的錯誤?
了解異常類及其方法?
處理異常的方法:(1)運(yùn)用try/catch塊和多重catch塊處理異常?
(2)運(yùn)用try塊、catch塊和finally塊處理異常?
(3)運(yùn)用關(guān)鍵字throw和throws處理異常?
(4)運(yùn)用java語言創(chuàng)建自定義異常并進(jìn)行處理異常?
(16)包?
創(chuàng)建和使用包:(1)生成包:?package?包名?
(2)執(zhí)行包中的運(yùn)行類:?java?包名.類名?
(3)導(dǎo)入包中的類:?
import?包名.類名?----?導(dǎo)入指定類?
import?包名.*?----?導(dǎo)入包中的所有public類?
(4)編譯帶包的源文件?
javac?-d?路徑?xxx.java?(路徑:包要保存的目錄)?
javac?-d?.?xxx.java?(.:路徑為當(dāng)前路徑)?
了解常用包:java.lang包、java.util包、java.io包?