openwrt###基本語法###
- 大小寫敏感:Java是大小寫敏感的,這就意味著標(biāo)識符Hello與hello是不同的。
- 類名:對于所有的類來說,類名的首字母應(yīng)該大寫。如果類名由若干單詞組成,那么每個單詞的首字母應(yīng)該大寫,例如 MyFirstJavaClass 。
- 方法名:所有的方法名都應(yīng)該以小寫字母開頭。如果方法名含有若干單詞,則后面的每個單詞首字母大寫。
- 源文件名:源文件名必須和類名相同。當(dāng)保存文件的時候,你應(yīng)該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的后綴為.java。(如果文件名和類名不相同則會導(dǎo)致編譯錯誤)。
- 主方法入口:所有的Java 程序由public static void main(String []args)方法開始執(zhí)行。
- 標(biāo)識符: 所有Java的標(biāo)識符均只能由大小寫字母,美元符號$或下劃線_開頭, 變量使用前必須聲明
類的變量類型###
- 局部變量: 類成員方法內(nèi)部的變量,方法結(jié)束后,局部變量自動銷毀
- 成員變量: 類內(nèi)部, 成員方法之外的變量
- 類變量: 類內(nèi)部, 成員方法之外用static聲明的變量
源文件聲明規(guī)則###
- 文件名必須和public聲明的類同名, 一個文件內(nèi)只能有一個public聲明的類, 類的構(gòu)造函數(shù)與類同名, 若沒有默認(rèn)構(gòu)造函數(shù)會自動生成
- 若有package語句則應(yīng)位于行首, import語句在package語句之后;沒有package語句則import語句位于行首;import語句用來導(dǎo)入包
數(shù)據(jù)類型###
- 整數(shù): byte(1字節(jié)),short(2字節(jié)),int(4字節(jié)),long(8字節(jié))
- 浮點(diǎn)數(shù): float,double
- 其他: boolean,char
常量用final修飾,如
final float PI=3.1415926;
Java修飾符###
訪問控制修飾符####
- default 缺省值,同一包內(nèi)可見
- public 同類和子類可見, 繼承后為public
- protected 同類和子類可見,子類繼承后可為protected或public
- private 僅同類可見,不繼承
接口中的變量都隱式聲明為public static final,類都默認(rèn)為public
非訪問修飾符####
- static 靜態(tài)聲明,類的靜態(tài)變量無論多少實(shí)例化都只有一份拷貝, 又稱類變量, 類變量不能在成員函數(shù)中定義; 靜態(tài)方法只能使用類的靜態(tài)變量
- final final變量,指初始化一次; final方法可以被繼承但不能修改; final類不能被繼承
- abstract 抽象類不能被實(shí)例化,一個類包含抽象方法則一定要聲明為抽象類; 抽象方法,只定義不實(shí)現(xiàn),繼承抽象類的子類若不是抽象類則必須實(shí)現(xiàn)抽象方法
- synchronized synchronized修飾的方法同一時間只能被一個線程訪問
- transient 序列化對象時,跳過此修飾符修飾的變量
- volatile 確保本指令不會因?yàn)榫幾g器的優(yōu)化而跳過
運(yùn)算符###
- & 按位與
- | 按位或
- ^ 按位異或
- ~ 按位補(bǔ)
- A instanceOf B A是B的實(shí)例
Java增強(qiáng)for循環(huán)###
for(x:numbers)相當(dāng)于php的foreach(numbers as x)
聲明和實(shí)例化數(shù)組###
dateType[] arr=new dateType[10];
dateType[] arr2={1,2,3,4,5};
繼承###
- 關(guān)鍵字 基本類和抽象類extends,接口implements
重寫與重載####
- 重寫 子類直接定義實(shí)現(xiàn)與父類同名同返回同參數(shù)的方法即實(shí)現(xiàn)了重寫,構(gòu)造函數(shù)不可重寫,使用super.方法名可以調(diào)用父類方法
- 重載 返回類型可以不同,參數(shù)列表必須修改,子類可重載父類方法
類成員變量在成員方法中調(diào)用默認(rèn)含this.