整理的時候,書被借走了,不保證全部正確,記不清楚的地方都 說明了一下。不過大多數(shù)還是沒有問題的,:)大牛就不用看了, 這是面向一般讀者的,呵呵 里面有些術(shù)語有可能比較怪些,,不過大家應(yīng)該還是能夠理解的 1,初始化 類變量自動初始化為0或者null,局部變量使用前一定要初始化 2,主類型過載 類型匹配順序:按照byte->short->char->int->long->float->double 順序匹配。一種主類型只能匹配參數(shù)范圍不小于其本身和其本身 范圍最接近的函數(shù) 即有int i;1.f(short s);2.f(long l);i只能適用于第2個f函數(shù) 如果是常數(shù),則編譯器作為int處理 3,主類型計算結(jié)果的類型 和最大范圍計算子的類型一致,但是最小也要是int,即byte+byte 結(jié)果為int型。 4,short型和char型不能互相賦值(因為short有符號,char無符號) 5,package一定要放在java文件第一行(除注釋空行外) 6,import只能放在第一行或者package下面 7,多個import的package里面如果有同名class,使用時必須指定package 8,interface中只能有方法宣言和定數(shù) 9,class實現(xiàn)interface必須實現(xiàn)全部方法 10,同一java文件中class和interface只能有一個public 11,為了宣言定數(shù),在變量前加final修飾子,變量不可改變,但是object的 屬性可以改變(有點忘記了,請確認,:)) 12,配列不能在宣言的時候用char arr[12];形式指定,必須要用new指定 大小。指定完畢后自動初期化;也可以new的時候用{0,0,0}形式指定 13,如果一個object為null,使用其屬性或者方法,產(chǎn)生NullPointerException 14,如果使用一個越界index訪問配列,產(chǎn)生ArrayOfBoundsException 15,配列長用配列名.length 16,constructor如果有返回值,編譯器作為一般方法看待 17,constructor里面如果要用super(..)和this(..),必須放在第一行,而且只 能用一次 18,如果沒有顯式調(diào)用super和this,編譯器自動在第一行插入super();要求超類 必須存在無參數(shù)的constructor 19,如果沒有顯式聲明constructor,編譯器自動生成默認無參數(shù)constructor。一旦 聲明,則無默認constructor 20,修飾子(訪問范圍大小順序) public 完全公開 protected 同一package或者子類中 無 同一package private本class 21,override的方法不能使訪問范圍縮小 即父類中public方法不能被protected override 22,static方法不能被override?確認 23,constructor不能被繼承 24,抽象class不能同時被static修飾子修飾 25,native:方法被java以外其它語言實現(xiàn) 26,interface里面: 方法默認為public abstract修飾 變量默認為public static final修飾 27,abstract和final,abstract和static,abstract和private不能同時指定 28,&&,||為短路條件運算符 &,|為不短路條件運算符 29,switch()只能判斷byte,short,int,char(long,float,double不行) 30,Exception包括可check Exception和Runtime Exception 可check Exception可以被編譯器檢查,Runtime Exception不被編譯器檢查,但是 可以被catch捕捉 31,try{}catch{}catch{}多個catch語句按照聲明順序檢查,一旦被捕捉,以后catch 就直接跳過,超類Exception可以捕捉子類Exception 32,try中即使有return,finally段也會被執(zhí)行 33,method聲明用throws,拋出Exception用throw 34,強制垃圾回收,system.gc();促使垃圾回收,但不是馬上回收 35,finalize();在垃圾回收的時候自動調(diào)用;建議顯式調(diào)用super.finalize(); 36,main方法的args[0]是第一個參數(shù),例如:java Test a b c,args[0]是"a" 37,類中static段中不能throw異常,constructor里面不能throw異常 38,對于除零:整數(shù)運算拋出ArithmeticException 實數(shù)運算不拋出異常;返回Infinity或者-Infinity 39,instanceof運算子,is的意思,例如:betty instanceof girl,返回true,:) 40,override和overload的區(qū)別 很簡單,不多寫了 41,inner class(內(nèi)部類:重點注意) nest class:class內(nèi)部定義的class 包括(member class:作為class的member定義的class local class:作為method局部變量定義的class anonymous class:用new生成的沒有名字的class) 42,inner class:除了static member class以外的所有nest class總稱 inner class中不能定義static段 inner class里面不能定義沒有final修飾子修飾的static變量 inner class不能定義interface?(記不清了,自己確認一下) 43,member class的使用方法:TopClass.memberClass 44,static宣言的member class的生成方法: TopClass的instance.new memberClass()或者 new TopClass.memberClass(); 45,local class不能顯式被修飾子修飾 46,local class只能存取被final修飾子修飾的上級變量(注意) 47,anonymous class instance生成方法: new SuperClass名(){.......}或者 new Interface名(){......} 48,anonymous class 不能定義sub class(因為自己沒有名字) 不能定義為abstract class 不能定義constructor(注意) 49,Thread生成方法 繼承java.lang.Thread 實現(xiàn)java.lang.Runnable interface,然后用new Thread(實現(xiàn)Runnable接口 的class)來生成Thread instance 50,Thread的join方法,等待Thread結(jié)束 51,Object的wait()方法和notify(),notifyAll()方法(線程同期化,自己好好 看看) 52,同期化保留字:synchronized(有可能要求拼寫) 53,如果用synchronized修飾static方法,static寫在前頭 54,String和StringBuffer區(qū)別:String初始化后不可改變,StringBuffer可以改 變 String s1="hello";String s2="hello"; if (s1==s2){System.out.println("OK");} 執(zhí)行結(jié)果是打印出OK 55,>>運算符是高位填充符號位,是為算術(shù)移位 >>>運算符高位填0,是為邏輯移位 其余有關(guān)swt,util,IO之類的東東,基本上都是死記硬背的,這里 就不多說了 最后祝大家順利通過SCJP考試,:)
|