訪問控制
封裝:將數(shù)據(jù)封裝到類的內(nèi)部仰剿,將算法封裝到方法中创淡。
封裝結(jié)果:存在但不可見
修飾符:
public:任何位置可見,修飾屬性南吮,類琳彩,方法,內(nèi)部類部凑,跨包訪問類露乏。需要使用import導(dǎo)入。
protected:當(dāng)前包中可見涂邀,子類中可見瘟仿。只可以修飾類的成員,只能在類體中使用比勉,包括:屬性劳较,方法驹止,內(nèi)部類。
default:當(dāng)前包內(nèi)可見观蜗,沒有任何修飾詞臊恋,在項(xiàng)目中很少用。
private:僅在類內(nèi)部可見墓捻。修飾類的成員:屬性捞镰,方法,內(nèi)部類毙替。
###
默認(rèn)類(包內(nèi)類)的訪問范圍:當(dāng)前包內(nèi)部可見岸售,不能在其他包中訪問,類的訪問受限厂画。
在企業(yè)項(xiàng)目中建議:所有類都是公用類凸丸。封裝的類使用內(nèi)部類。
Java文件規(guī)則:
? ? 1)一個(gè)java源文件中可以有多個(gè)類袱院,但只能有一個(gè)共用類屎慢,其他類只能是默認(rèn)類(包中類)而且java的文件名一定與公用類類名一致,如果沒有共用類忽洛,可以和任意一個(gè)類名一致腻惠。
? ? 2)一般建議:一個(gè)文件一個(gè)公用類!一般不在一個(gè)文件中寫多個(gè)類
私有方法不能被繼承欲虚,也不能重寫集灌。
static:靜態(tài)的,只能在類內(nèi)部使用复哆,可以修飾:屬性欣喧,方法,內(nèi)部類靜態(tài)代碼塊梯找。
? ? 靜態(tài)修飾的成員:屬于類級別的成員唆阿,是全體類實(shí)例共享的資源。
? ? 靜態(tài)屬性:只有一份锈锤,全體實(shí)例共享驯鳖,類似于全局變量。
? ? 靜態(tài)方法:屬于類的方法久免,使用類名直接調(diào)用浅辙,不需要?jiǎng)?chuàng)建對象,而且靜態(tài)方法中沒有隱含參數(shù)this妄壶,不能訪問當(dāng)前對象資源摔握。
? ? 靜態(tài)代碼塊:在類的加載期間執(zhí)行寄狼,只執(zhí)行一次丁寄。(普通代碼塊氨淌,在創(chuàng)建對象時(shí)候執(zhí)行,類似于構(gòu)造器的作用)
final:最終的伊磺,終態(tài)盛正,可以修飾:類,方法屑埋,變量(屬性豪筝,局部變量)
? ? final的類:不能再繼承
? ? final的方法:不能再重寫
? ? final的方法和類,阻止了動(dòng)態(tài)代理模式摘能!動(dòng)態(tài)代理模式廣泛的應(yīng)用再Spring续崖,Hibernate Struts2,企業(yè)編程規(guī)范:不允許使用final的方法和類团搞!
? ? final的變量:只能初始化一次严望,不能再修改
數(shù)組
#對象數(shù)組,是對象的元素不是基本類型逻恐,而是引用類型像吻。
? ? 例:Point[] ps = new Point[3];
? ? ? ? ? ? ps[0] = new Point(1,2);
? ? ? ? ? ? ps[1] = new Point(3,4);
? ? ? ? ? ? ps[2] = new Point(5,6);
? ? 數(shù)組ps的每一個(gè)元素都是Point類型的引用,都將指向一個(gè)Point類型的對象复隆。初始化對象數(shù)組時(shí)拨匆,要注意將其每一個(gè)元素進(jìn)行實(shí)例化。
數(shù)組的復(fù)制與擴(kuò)容
? ? 數(shù)組變量的賦值挽拂,是并不會(huì)復(fù)制數(shù)組對象惭每,而是兩個(gè)變量引用了同一個(gè)數(shù)組對象。
? ? 數(shù)組復(fù)制本質(zhì)是創(chuàng)建了新數(shù)組亏栈,將原數(shù)組的內(nèi)容復(fù)制過來洪鸭。
? ? 擴(kuò)容:創(chuàng)建新數(shù)組,新數(shù)組容量大于原數(shù)組仑扑,原數(shù)組內(nèi)容復(fù)制到新數(shù)組览爵,并且丟棄原數(shù)組
排序算法
? ? 熟練冒泡排序:比較相鄰元素,大的向后交換
? ? Arrays數(shù)組工具類
遞歸調(diào)用:方法中調(diào)用了方法本身
? ? 遞歸解決問題:簡練只需考慮一層邏輯即可镇饮,一定要有結(jié)束條件蜓竹。注意棧內(nèi)存溢出問題〈⒚辏總之慎用遞歸俱济。
二進(jìn)制基礎(chǔ)
? ? 16進(jìn)制是2進(jìn)制的簡寫,2進(jìn)制4位對應(yīng)16進(jìn)制1位钙勃。
移位運(yùn)算符