準備SCJP的時候做的一些筆記

來源:ChinaITLab
2004-4-24 11:29:00
  裏面有些術語有可能比較怪些,,不過大家應該還是能夠理解的                     
  1,初始化類變量自動初始化爲0或者null,局部變量使用前一定要初始化       
  2,主類型過載類型匹配順序:按照byte->short->char->int->long->float->double順序匹配。一種主類型只能匹配參數範圍不小於其本身和其本身範圍最接近的函數即有int i;1.f(short s);2.f(long l);i只能適用於第2個f函數如果是常數,則編譯器作爲int處理

  3,主類型計算結果的
byte+byte結果爲int型。
類型和最大範圍計算子的類型一

致,但是最小也要是int,即

  4,short型和char型不
能互相賦值(因爲short有符號
,char無符號)
  5,package一定要放在java文件第一行(除註釋空行外)               
  6,import只能放在第一行或者package下面                         
  7,多個import的packa
ge裏面如果有同名class,使用
時必須指定package
  8,interface中只能有方法宣言和定數                                 
  9,class實現interface必須實現全部方法                         
  10,同一java文件中class和interface只能有一個public
  11,爲了宣言定數,在變量前加fina
變(有點忘記了,請確認,:))
l修飾子,變量不可改變,但是object的 屬性可以改

  12,配列不能在宣言的時候用char a
畢後自動初期化;也可以new的時候用{0,
rr[12];形式指定,必須要用new指定大小。指定完
0,0}形式指定
  13,如果一個object爲
null,使用其屬性或者方法,產
生NullPointerException
  14,如果使用一個越界index訪問配
列,產生ArrayOfBoundsException
  15,配列長用配列名.length                                           
  16,constructor如果有返回值,編譯器作爲一般方法看待             
  17,constructor裏面

如果要用super(..)和this(..)

,必須放在第一行,而且只能用一

  18,如果沒有顯式調用
在無參數的constructor
super和this,編譯器自動在第

一行插入super();要求超類必須存

  19,如果沒有顯式聲明
明,則無默認constructor
constructor,編譯器自動生成

默認無參數constructor。一旦聲

  20,修飾子(訪問範圍大小順序)pu
無    同一package private 本cla
blic  完全公開protected 同一package或者子類中
ss
  21,override的方法不能使訪問範圍

縮小即父類中public方法不能被protected override

  22,static方法不能被override?確認                           
  23,constructor不能被繼承                                       
  24,抽象class不能同時被static修飾子修飾                         
  25,native:方法被java以外其它語言實現                           
  26,interface裏面:
final修飾
方法默認爲public abstract修

飾變量默認爲public static

  27,abstract和final
,abstract和static,abstract
和private不能同時指定
  28,&&,||爲短路條件運算符 &,|爲不短路條件運算符                   
  29,switch()只能判斷byte,short
,int,char(long,float,double不行)
  30,Exception包括可c
譯器檢查,Runtime Except
heck Exception和Runtime Exce
ion不被編譯器檢查,但是可以
ption可check Exception可以被編
被catch捕捉
  31,try{}catch{}catc
直接跳過,超類Exception
h{}多個catch語句按照聲明順序
可以捕捉子類Exception
檢查,一旦被捕捉,以後catch就

  32,try中即使有return,finally段也會被執行                 
  33,method聲明用throws,拋出Exception用throw     
  34,強制垃圾回收,system.gc();促使垃圾回收,但不是馬上回收     
  35,finalize();在垃圾回收的時候
自動調用;建議顯式調用super.finalize();
  36,main方法的args[0
]是第一個參數,例如:java Te
st a b c,args[0]是"a"
  37,類中static段中不能throw異常
,constructor裏面不能throw異常
  38,對於除零:整數運
或者-Infinity
算拋出ArithmeticException 實

數運算不拋出異常;返回Infinity

  39,instanceof運算子
,is的意思,例如:betty inst
anceof girl,返回true,:)
  40,override和overload的區別 很簡單,不多寫了             
  41,inner class(內部類:重點注意)                             
  nest class:class內部定義的class                         
  包括(member class:作爲class的member定義的class
  local class:作爲method局部變量定義的class             
  anonymous class:用new生成的沒有名字的class)         
  42,inner class:除了static memb
er class以外的所有nest class總稱
    inner class中不能定義static段                           
    inner class裏面
不能定義沒有final修飾子修飾
的static變量
    inner class不能定義interface
?(記不清了,自己確認一下)
  43,member class的使用方法:TopC
lass.memberClass
  44,static宣言的member class的生成方法:                 
    TopClass的instan
ce.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                                     
    實現java.lang.Ru
class)來生成Thread insta
wait()方法和notify(),no
nnable interface,然後用new
nce 50,Thread的join方法,等
tifyAll()方法(線程同期化,
Thread(實現Runnable接口 的
待Thread結束 51,Object的
自己好好 看看)
  52,同期化保留字:synchronized(有可能要求拼寫)               
  53,如果用synchronized修飾static
方法,static寫在前頭
  54,String和StringBuffer區別:St
ring初始化後不可改變,StringBuffer可以改變
  String s1="hello";String s2="hello";     
  if (s1==s2){System.out.println("OK");}  
  執行結果是打印出OK                                                         
  55,>>運算符是高位填充符號位,是爲算術移位 >>>運算符高位填0,是爲邏輯移位其餘有關swt,util,IO之類的東東,基本上都是死記硬背的,這裏就不多說了.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章