程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> scjp認證 我的拾零

scjp認證 我的拾零

編輯:關於JAVA

<>和設計模式 java.io Java.util

  1.Java2 Certification Tutorial  2.Complete Java2 Certificate

public class PegAdapter extends SquarePeg{

  private RoundPeg roundPeg;

  public PegAdapter(RoundPeg peg)(this.roundPeg=peg;)

  public void insert(String str){ roundPeg.insertIntoHole(str);}

}

在上面代碼中,RoundPeg屬於Adaptee,是被適配者.PegAdapter是Adapter,將Adaptee(被適配者RoundPeg)和Target(目標SquarePeg)進行適配.實

際上這是將組合方法(composition)和繼承(inheritance)方法綜合運用.

PegAdapter首先繼承SquarePeg,然後使用new的組合生成對象方式,生成RoundPeg的對象roundPeg,再重載父類insert()方法。從這裡,你也了

解使用new生成對象和使用extends繼承生成對象的不同,前者無需對原來的類修改,甚至無需要知道其內部結構和源代碼.

Java群8071103

六、考試要點   1、認真學習復習教材。   2、多做題目(Jxam、Pgjc、Marcus Green三套題的題目)。   3、61%通過,建議考試之前到SUN的網頁上先做Sun給出的樣題。   Sun樣題網址:   https://tmn.sun.com/WLC/servlet/GuestLoginServlet?id=programmer   4、要重視Thread,份量比較多。再加一點,對於java.io.*的每一個low-level stream、high-level stream、Reader和Writer的constructor要非常熟悉,類似的還有各listener,collection等等,最好可以對照一下JDK裡面的說明,難度會象那個Pgjc裡的難度。   6、考試中遇到的填空題,一般是String和StringBuffer的輸出結果,但題目沒有說明書  7、SCJP考最基本的知識,如Java語言特征、事件模型、AWT、IO、Thread、Net等。在SCJP考試中只考AWT,Swing在SCJD中考。   8、復習不要太偏,把基本概念要搞清楚。另外,IO的構造函數、Thread、Inner class、Anonymouse class、override、overload題目比較多,要重點復習。   9、印象中幾乎所有的考題都涉及2-3個以上的知識點,幾乎沒有可以一眼就看出答案的題目。70%的考題是給你一段程序,然後問運行結果變量的值。這種題目非常容易落入陷阱,一不小心就被廢了。還有20%的題目是給你幾個陳述句,選正確的。這些陳述句都是考很偏很偏的東西,也不太好答。基本上我的經驗是:如果一個題目馬上能看出答案,請你在仔細研究一下題目,多數情況是你落入陷阱了。如果一個題目你能很明確的看出來他要考你什麼知識點,那這個題目就完成一半了。最慘的是知道題目要考你什麼,但是忘記了或沒有復習相關知識細  10、考試的一個重點是INNER CLASS。印象中一半以上的題目和他有關。都是大CLASS套小CLASS等。一定要透徹理解相關定義,語法,特別是各種各樣的MODIFIER的用法。有很多很特殊的MODIFER規則。這些規則一定要熟練掌握並牢記在心。   11、考試的另一個重點是循環語句。考試考一些很偏很特別的用法,雖然慢慢作都能作出來,但浪費太多時間在這上面,實在可惜。大家好好看看書。   12、http://www.Javaranch.com/maha,這個上面的mock test和資源列表非常好。一定要看它的mock list。

聲明和權限控制,流控制和異常處理,垃圾回收機制,基本語法,操作數和符號,重載、覆蓋、運行類型和面向對象,線程等;此外,還有jav

a.awt、java.lang、java.util、Java.io包中的常用類等

5.Math,Interger,Boolean...等類型包裝類都是final的,不可繼承

集合:1.各接口和類的關系,只有最後一個是類Collection:List:vector,ArrayList,LinkedListMap:SortedMap:TreeMapCollection:Set:SortedSet:TreeSetMap:HashTableCollection:Set:HashSet

7.XOR 一樣的為0,不一樣為1 1,1=0;0,0=0;1,0/0,1=18. x == Float.NaN編譯錯,應該是Float.IsNaN 9. x == Double.POSITIVE_INFINITY編譯可以10.-1是1111.... 1111,<<永遠右補零,>>正補零,負補一,>>>恆補零10.1 -1>>多少位都是-1 ; 1<<31變成了最小負數,1000....000011.最大正數是01111....111112.最小負數是1000....0000(-2147483648)6. 1>>1 是07. %= <<= =>> =>>>都是合法符號

6.靜態方法將隨著類的變化而變化,看例子:class Parent{static void test(){System.out.println("hi,parent")};}class Child extends Parent{static void test(){System.out.println("hi,child")};}Parent p = new Child();p.test(); file://打出來的是hi,parent!

8.transient只能用在類的成員變量上,不能用在方法裡.9.transIEnt變量不能是final和static的10.native方法可以是private,abstractd的

final i=1; byte b=i;就ok! 我也不知道為什麼,final就可以.而且,據我實驗只有int和byte的關系這樣,其他不行.5.int i[]; Object[] obj=i;錯! Object obj=i;對! 數組只能轉成Object,而不能是Object[]6.int i[]; Object[] obj;i=(int[])obj; 對! 對象可以通過顯式來轉成一個數組.

protected只可以用來修飾成員變量和方法,在同一個包內相當於public,在包外只能在子類的類體中使用(只是在繼承的情況下||在子類的類體中也不能用父類實例句柄來訪問父類成員或方法,但是,在子類的類體中可以通過子類實例句柄來調用

保護的父類成員或方法(在靜態main方法中也可以),在子類類體之外都不可以。在子類的類體中當然也可以使用this, super來訪問父類中保

護的成員或方法。<實例句柄不包括this, super>)。finalfinal類不能被繼承,final方法不能被重寫但可以被繼承,非static的final的屬性只能被賦一次值,並且在對象初始化時必須給出初值,所以

只能在聲明時給出初值,在語句塊中或在構造器中賦值。static的final的變量只能在聲明時或靜態語句塊中給初值。final的局部變量在聲明的時候可以不給出初值,但在整個生命周期中只能賦值一次。final也可以用來修飾方法參數。abstract抽象的類不能有實例,抽象的方法不能有方法體,抽象的方法在子類中必須被實現或繼續聲明為抽象的。抽象的方法只能存在於抽象的類中,

抽象的類中的方法並不一定是抽象的。一個類實現了某個接口,若沒有實現接口中所有的方法,則此類必須是abstract的。抽象的方法不能為private的,其它的都可以。抽象的類可以繼承非抽象的類,並用抽象的方法來覆蓋父類中非抽象的方法。staticstatic可以用來修飾變量、方法、語句塊。用類名而不用實例句柄來引用靜態成員變量是一種好習慣。Static的變量也可以用對象句柄引用,

不一定要有對象,但是此句柄要被初始化(沒有初始化會報編譯錯誤),可以給句柄賦值為null。nativeNative只能用來修飾方法,native方法的方法體不在JVM中,而在一個庫中,而且native方法的代碼不是用Java寫的,並且有明確的目標機器。

一般在使用native的方法前要用靜態的語句塊加載庫,代碼如下: Class NativeExample {native void DOSomethingLocal(int i);// native的方法static {System.loadLibrary(“MyNativeLab”);}// 用靜態的語句塊加載庫}strictfp可以用來修飾方法和類,修飾方法時表示該方法中對浮點數的訪問都遵循IEEE754標准,修飾類時表示此類中的所有的方法對浮點數的訪問都遵

循IEEE754標准。transienttansIEnt只能用來修飾成員變量,在對象序列化時,有此關鍵字修飾的成員變量不參加序列化。volatile此修飾符只能用來修飾成員變量(static的非static的都可以)。注意:1)語句塊可以是static或非static的,但不能用final來修飾,static的語句塊在類被裝入的時候只執行一次,而非static的語句塊每次產生

類的實例都執行一次。

Java程序的初始化順序1.首先初始化的是static的東西(屬性[final/非fianal]、語句塊),在static中按代碼的先後順序。2.然後調用父類構造器構造父類對象3.然後初始化非static的東西(屬性[final/非fianal]、語句塊),在非static中按代碼的先後順序。4.最後再執行自己類的構造器代碼。注意:四種訪問控制符號不影響初始化順序,按代碼中的先後順序而定。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved