1、如何學(xué)習(xí)java語言?
了解一門語言,往往從熟悉該語言的主要特點開始入手,JAVA語言有很多特點,主要包括:
跨平臺性:一個應(yīng)用可以不經(jīng)過修改直接運行到不同的平臺上。
面向?qū)ο螅篔AVA語言是一門面向?qū)γ娴恼Z言,可以使用對象的屬性和行為,可以使用面向?qū)ο蟮乃枷脒M行分析設(shè)計,并實現(xiàn)整個應(yīng)用。
解釋執(zhí)行JAVA應(yīng)用時,JVM中的解釋器將解釋類文件,生成符合當(dāng)前平臺的字節(jié)碼。
自動回收:JAVA應(yīng)用中的垃圾回收是自動進行的,JVM中的后臺線程將監(jiān)視內(nèi)存中數(shù)據(jù)的使用,當(dāng)內(nèi)存中的數(shù)據(jù)不再被引用時,將被作為垃圾回收,而不需要程序員動手回收。
2、在JAVA中類包含的元素有哪些呢?
無論簡單還是復(fù)雜的JAVA應(yīng)用,都是由若干個類組成,所以類是JAVA應(yīng)用的組成單位。了解一個類中包含的主要元素能夠?qū)︻愑幸粋€清晰的認(rèn)識。一個類中往往會有五種元素,即屬性、方法、構(gòu)造方法、塊以及內(nèi)部類、其實塊和內(nèi)部類比較少見。
JAVA類中主要包含屬性、方法、構(gòu)造方法、塊以及內(nèi)部類。
屬性用來定義對象的數(shù)據(jù);
方法用來定義對象的行為;
構(gòu)造方法可以用來創(chuàng)建對象;
塊能夠用來在類加載時執(zhí)行操作或者在每次實例化前執(zhí)行通用操作;
內(nèi)部類作為類的一個成員存在,能夠訪問外部類的屬性和方法。
2、類是對象的模板,使用類往往都需要首先對類進行實例化,即創(chuàng)建對象。
要創(chuàng)建對象必須使用new關(guān)鍵字調(diào)用構(gòu)造方法(constructor)才能完成,構(gòu)造方法中往往對屬性進行實例化,也可以實現(xiàn)其他必要的功能,如讀取屬性文件等。
構(gòu)造方法有獨特的特征:名字必須與類名相同且大小寫敏感,而且構(gòu)造方法不能聲明返回值,這兩個特征缺一不可。使用Eclipse工具時,可以使用菜單GenerateConstructor自動生成不同的構(gòu)造方法。
構(gòu)造方法的作用是用來創(chuàng)建對象,使用new關(guān)鍵字調(diào)用。構(gòu)造方法的名字必須與類的名字相同,并且大小寫敏感,同時構(gòu)造方法不能聲明返回值類型,可以使用任意一種訪問修飾符,但是不能使用其他修飾符進行修飾,如static、final、abstract等修飾符都可以修飾構(gòu)造方法。
4、什么是方法重載(overload)?
方法重載指的是在一個類中可以聲明多個相同名字的方法,而方法的形式參數(shù)有區(qū)別。調(diào)用這些同名的方法時,JVM會根據(jù)實際參數(shù)的不同綁定到不同的方法。如果一個類的某個行為,會有不同的算法和邏輯,例如,
Math類的計算值的方法,既可以計算int類型數(shù)值的值,也可以計算double類型數(shù)值的值。這種情況下,每種類型都定義一個不同的方法名,如abInt、absDouble,那么類的可讀性就較差,使用時,必須熟悉處理每種類型參數(shù)所對應(yīng)的方法名。然而,如果使用同一個方法名,而使用不同的形式參數(shù)來區(qū)別這些方法,那么就具有很好的可讀性,如abs(inti)、abs(doubled)等。可讀性強的代碼是企業(yè)對開發(fā)人員的基本要求,方法重載能夠使得代碼有很好的可讀性。
5、請列舉Java語言中的權(quán)限訪問修飾符,并說明每種權(quán)限的含義。
Java語言中有四種權(quán)限訪問修飾符,即public、protected、同包以及private,public表示公共權(quán)限,即任何包中都可以訪問:protected表示受保護權(quán)限,即同包中可以訪問,同包中的子類可以訪問:同包權(quán)限是默認(rèn)權(quán)限,即不顯示指明權(quán)限修飾符的時候就是同包權(quán)限,表示只有同包中可以訪問:private是私有權(quán)限,表示只能在本類中訪問。