熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

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

2022-06-13   來源: JSP教程 

  裡面有些術語有可能比較怪些不過大家應該還是能夠理解的
  初始化類變量自動初始化為或者null局部變量使用前一定要初始化
  主類型過載類型匹配順序按照byte>short>char>int>long>float>double順序匹配一種主類型只能匹配參數范圍不小於其本身和其本身范圍最接近的函數即有int i;f(short s);f(long l);i只能適用於第個f函數如果是常數則編譯器作為int處理
  主類型計算結果的類型和最大范圍計算子的類型一致但是最小也要是int即byte+byte結果為int型
  short型和char型不能互相賦值(因為short有符號char無符號)
  package一定要放在java文件第一行(除注釋空行外)
  import只能放在第一行或者package下面
  多個import的package裡面如果有同名class使用時必須指定package
  interface中只能有方法宣言和定數
  class實現interface必須實現全部方法
  同一java文件中class和interface只能有一個public
  為了宣言定數在變量前加final修飾子變量不可改變但是object的 屬性可以改變(有點忘記了請確認))
  配列不能在宣言的時候用char arr[]形式指定必須要用new指定大小指定完畢後自動初期化也可以new的時候用{}形式指定
  如果一個object為null使用其屬性或者方法產生NullPointerException
  如果使用一個越界index訪問配列產生ArrayOfBoundsException
  配列長用配列名length
  constructor如果有返回值編譯器作為一般方法看待
  constructor裡面如果要用super()和this()必須放在第一行而且只能用一次
  如果沒有顯式調用super和this編譯器自動在第一行插入super();要求超類必須存在無參數的constructor
  如果沒有顯式聲明constructor編譯器自動生成默認無參數constructor一旦聲明則無默認constructor
  修飾子(訪問范圍大小順序)public  完全公開protected 同一package或者子類中 無    同一package private 本class
  override的方法不能使訪問范圍縮小即父類中public方法不能被protected override
  static方法不能被override?確認
  constructor不能被繼承
  抽象class不能同時被static修飾子修飾
  native方法被java以外其它語言實現
  interface裡面方法默認為public abstract修飾變量默認為public static final修飾
  abstract和finalabstract和staticabstract和private不能同時指定
  &&||為短路條件運算符 &|為不短路條件運算符
  switch()只能判斷byteshortintchar(longfloatdouble不行)
  Exception包括可check Exception和Runtime Exception可check Exception可以被編譯器檢查Runtime Exception不被編譯器檢查但是可以被catch捕捉
  try{}catch{}catch{}多個catch語句按照聲明順序檢查一旦被捕捉以後catch就直接跳過超類Exception可以捕捉子類Exception
  try中即使有returnfinally段也會被執行
  method聲明用throws拋出Exception用throw
  強制垃圾回收systemgc()促使垃圾回收但不是馬上回收
  finalize()在垃圾回收的時候自動調用建議顯式調用superfinalize()
  main方法的args[]是第一個參數例如java Test a b cargs[]是a
  類中static段中不能throw異常constructor裡面不能throw異常
  對於除零整數運算拋出ArithmeticException 實數運算不拋出異常返回Infinity或者Infinity
  instanceof運算子is的意思例如betty instanceof girl返回true
  override和overload的區別 很簡單不多寫了
  inner class(內部類重點注意)
  nest classclass內部定義的class
  包括(member class作為class的member定義的class
  local class作為method局部變量定義的class
  anonymous class用new生成的沒有名字的class)
  inner class除了static member class以外的所有nest class總稱
    inner class中不能定義static段
    inner class裡面不能定義沒有final修飾子修飾的static變量
    inner class不能定義interface?(記不清了自己確認一下)
  member class的使用方法mberClass
  static宣言的member class的生成方法
    TopClass的instancenew memberClass()或者
    new mberClass();
  local class不能顯式被修飾子修飾
  local class只能存取被final修飾子修飾的上級變量(注意)
  anonymous class instance生成方法
    new SuperClass名(){}或者
    new Interface名(){}
  anonymous class
    不能定義sub class(因為自己沒有名字)
    不能定義為abstract class
    不能定義constructor(注意)
  Thread生成方法
    繼承javalangThread
    實現javalangRunnable interface然後用new Thread(實現Runnable接口 的class)來生成Thread instance Thread的join方法等待Thread結束 Object的wait()方法和notify()notifyAll()方法(線程同期化自己好好 看看)
  同期化保留字:synchronized(有可能要求拼寫)
  如果用synchronized修飾static方法static寫在前頭
  String和StringBuffer區別String初始化後不可改變StringBuffer可以改變
  String s=hello;String s=hello;
  if (s==s){Systemoutprintln(OK);}
  執行結果是打印出OK
  >>運算符是高位填充符號位是為算術移位 >>>運算符高位填是為邏輯移位其余有關swtutilIO之類的東東基本上都是死記硬背的這裡就不多說了
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19728.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.