• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        SCJP考題中的陷阱

        SCJP考題中的陷阱

        更新時間:2022-05-08 文章作者:未知 信息來源:網絡 閱讀次數:

        最近在網上閑逛時偶然發現此文章,基本上指出了SCJP的出題陷阱,讀過后覺得其列的還比較詳細,故貼與此,希望能對打算考SCJP的朋友有一些幫助.此文雖是E文,但句法簡單,很容易理解,而且我在大部分后面加了一些注釋"()",對新手可能會有幫助.
         SCJP考題中的陷阱
        原著 Ajith Kallambella


        (1) Two public classes in the same file. (illegal)

        (2) Main method calling a non-static method. (illegal)

        (3) Methods with the same name as the constructor(s). (這種題常有)

        (4) Thread initiation with classes that do not have a run() method. (常考之題)

        (5) Local inner classes trying to access non-final vars. (illegal)

        (6) Case statements with values out of permissible range. (byte,int, short, chat)

        (7) Math class being an option for immutable classes !! (totally wrong!)

        (8) instanceOf is not same as instanceof.

        (9) Private constructors. (legal)

        (10) An assignment statement which looks like a comparison. (比如說if(a=true),對于這種題眼睛亮一點)

        (11) System.exit() in try-catch-finally blocks. (finally 不會執行)

        (12) Order of try-catch-finally blocks matters. (若順序錯的話: error: No try before catch)

        (13) main() can be declared final. (OK)

        (14) -0.0 == 0.0 is true.

        (15) A class without abstract methods can still be declared abstract.

        (16) RandomAccessFile descends from Object and implements DataInput and DataOutput.

        (17) Map does not implement Collection.

        (18) Dictionary is a class, not an interface.

        (19) Collection is an Interface where as Collections is a helper class. (這題我倒沒見過,但還真容易看混)

        (20) Class declarations can come in any order.
        (也就是說: class Child extends Parents{}
         class Parents{}
         這種順序是可以的.)

        (21) Forward references to variables gives compiler error.

        (22) Multi dimensional arrays can be sparce.
        (這句話是說: 多維數組中子數組不一定必須有一定個數的元素,比如我們把一個二維數組看成一個矩陣,那么行與列中的元素可以不完整,可以不對齊.)

        (23) Arrays, whether local or class-level, are always initialized.

        (24) Strings are initialized to null, not empty string.

        (25) An empty string is NOT the same as a null string.

        (26) A declaration cannot be labelled.

        (27) "continue" must be in a loop(for, do, while). It cannot appear in case constructs.

        (28) Primitive array types can never be assigned to each other, eventhough the primitives themselves can be assigned.
        (也就是說: ArrayofLongPrimitives = ArrayofIntegerPrimitives 會編譯出錯,但 longvar = intvar 是合法的)

        (29) A constructor can throw any exception.

        (30) Initilializer blocks are executed in the order of declaration.

        (31) Instance initializer(s) gets executed ONLY IF the objects are constructed.

        (32) All comparisons involving NaN and a non-Nan would always result false. (對大多數朋友來說這可是個盲點噢)

        (33) Default type of a numeric literal with a decimal point is double.
        (我在這里把Java成員變量默認初始化原則寫一下:
         成員變量類型取值
         byte0
         short 0
         int 0
         long0L
         char'\u0000'
         float 0.0F
         double0.0D
         boolean false
         所有引用類型 null)

        (34) integer (and long ) operations / and % can throw ArithmeticException while float / and % will never, even in case of division by zero.

        (35) == gives compiler error if the operands are cast-incompatible.

        (36) You can never cast objects of sibling classes( sharing the same parent ), even with an explicit cast.

        (37) .equals returns false if the object types are different.It does not raise a compiler error.

        (38) No inner class can have a static member.(but static inner class can)

        (39) File class has NO methods to deal with the contents of the file.(also the existing directory)

        (40) InputStream and OutputStream are abstract classes, while DataInput and DataOutput are interfaces.


        當然以上這些都是從題目中總結出來的技巧,其實書上也都有,大家還是多看看書噢.


        真不錯。。。早點出來就好了。。。呵呵。。。偶幫忙翻譯一下。。。
        有 “(請提意見)” 的,大家討論一下。謝謝
        (1) Two public classes in the same file. (illegal)
         同一個文件里有兩個public類。(非法)

        (2) Main method calling a non-static method. (illegal)
         在main(String[] args)方法內調用一個非靜態方法。(非法)

        (3) Methods with the same name as the constructor(s). (這種題常有)
         與Constructor(s)有相同名字的方法。

        (4) Thread initiation with classes that do not have a run() method. (常考之題)
         初始化了一個沒有run()方法的線程類。

        (5) Local inner classes trying to access non-final vars. (illegal)
         內部類嘗試訪問非final變量(非法)

        (6) Case statements with values out of permissible range. (byte,int, short, chat)
         選擇語句case中,沒有使用允許的值。如(byte,int,short,char)等

        (7) Math class being an option for immutable classes !! (totally wrong!)
         Math類作為不可改變類。(完全錯誤) (請提意見)

        (8) instanceOf is not same as instanceof.
         instanceOf 不是 instanceof。

        (9) Private constructors. (legal)
         私有 的Constructor。 (合法)

        (10) An assignment statement which looks like a comparison.
        一個 賦值語句 看起來像 比較語句。
        比如說if(a=true),和if(a==true)。對于這種題眼睛亮一點。

        (11) System.exit() in try-catch-finally blocks. (finally 不會執行)
        在try-catch-final塊中的退出語句。 (finally不會執行)

        (12) Order of try-catch-finally blocks matters. (若順序錯的話: error: No try before catch)
        try-catch-final塊的順序問題。

        (13) main() can be declared final. (OK)
        main()方法 可以聲明為 final.

        (14) -0.0 == 0.0 is true.
        如題。

        (15) A class without abstract methods can still be declared abstract
        沒有 抽象方法的類,仍然可以定義為抽象類。

        (16) RandomAccessFile descends from Object and implements DataInput and DataOutput.
        RandomAccessFile 類繼承Object,并且實現了DataInput和DataOutput接口。

        (17) Map does not implement Collection.
        Map 并不實現 Collection.

        (18) Dictionary is a class, not an interface.
        Dictionary 是一個類,不是接口。

        (19) Collection is an Interface where as Collections is a helper class. (這題我倒沒見過,但還真容易看混)
        Collection是一個接口,但 Collections卻是一個輔助類。

        (20) Class declarations can come in any order.
         (也就是說: class Child extends Parents{}
        class Parents{}
        這種順序是可以的.)
        可以以任何順序申明類。

        (21) Forward references to variables gives compiler error.
        把 reference 給 變量,會產生編譯錯誤。 (請提意見)

        (22) Multi dimensional arrays can be sparce.
        (這句話是說: 多維數組中子數組不一定必須有一定個數的元素,比如我們把一個二維數組看成一個矩陣,那么行與列中的元素可以不完整,可以不對齊.)
        如jiayuan所說。

        (23) Arrays, whether local or class-level, are always initialized.
        數組,無論是當前的,還是類等級的,都會被初始化。

        (24) Strings are initialized to null, not empty string.
        String 是被初始化為 null,不是空字符。

        (25) An empty string is NOT the same as a null string.
        一個空字符串 不是 一個null字符。

        (26) A declaration cannot be labelled.
        一個聲明語句不能被標記。

        (27) "continue" must be in a loop(for, do, while). It cannot appear in case constructs.
        “continue”已經要在一個循環里(如for,do,while),它不能在case語句中出現。

        (28) Primitive array types can never be assigned to each other, eventhough the primitives themselves can be assigned.
         (也就是說: ArrayofLongPrimitives = ArrayofIntegerPrimitives 會編譯出錯,
        但 longvar = intvar 是合法的)

         Primitive(int,char,long等)數組是不能互相賦值的,即使它們本身可以。
         解釋見jiayuan所說。

        (29) A constructor can throw any exception.
        一個Constructor可以拋出任何異常。

        (30) Initilializer blocks are executed in the order of declaration.
        初始化塊是按照聲明的順序執行的。(請提意見)

        (31) Instance initializer(s) gets executed ONLY IF the objects are constructed.
        實例初始化語句塊只有在它建立后才會被執行。

        (32) All comparisons involving NaN and a non-Nan would always result false. (對大多數朋友來說這可是個盲點噢)
        所有關于 NaN(Not a Number) 和 non-NaN 的比較,都返回false.
        這條很重要。

        (33) Default type of a numeric literal with a decimal point is double.
        我在這里把Java成員變量默認初始化原則寫一下:
         成員變量類型取值
        byte0
         short 0
         int 0
         long0L
         char'\u0000'
         float 0.0F
         double0.0D
         boolean false
         所有引用類型null

        (34) integer (and long ) operations / and % can throw ArithmeticException while float / and % will never, even in case of division by zero.
        integer和long 操作 /和% 的話, 會拋出ArithmeticException,
         但是 float形不會,即使是除以0。

        (35) == gives compiler error if the operands are cast-incompatible.
        ==會產生編譯錯誤,如果兩邊 不兼容的話。

        (36) You can never cast objects of sibling classes( sharing the same parent ), even with an explicit cast.
         你永遠不可能 轉化具有同一個超類的類的對象,即使是刻意轉化。(請提意見)

        (37) .equals returns false if the object types are different.It does not raise a compiler error.
        equals() 返回 false 如果對象類型不同,但不產生 編譯錯誤。

        (38) No inner class can have a static member.(but static inner class can)
        沒有內部類 可以擁有 靜態成員。(但靜態內部類可以)

        (39) File class has NO methods to deal with the contents of the file.(also the existing directory)
        File類沒有 任何 處理文件內容的方法。(當然,存在的目錄也一樣)

        (40) InputStream and OutputStream are abstract classes, while DataInput and DataOutput are interfaces.
        InputStream 和 OutputStream 是 抽象類,
         但是 DataInput 和 DataOutput是 接口。

        當然以上這些都是從題目中總結出來的技巧,其實書上也都有,大家還是多看看書噢.

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲国产无线乱码在线观看| 亚洲欧洲春色校园另类小说| 日本亚洲中午字幕乱码| 男女超爽刺激视频免费播放| 亚洲天堂一区在线| 久久国产高潮流白浆免费观看| 亚洲av日韩av不卡在线观看| 最近2019免费中文字幕视频三| 久久久亚洲欧洲日产国码是AV| 18观看免费永久视频| 亚洲无线一二三四区| 男女做羞羞的事视频免费观看无遮挡| 亚洲免费福利在线视频| 成全影视免费观看大全二| 亚洲avav天堂av在线网毛片| 国产aa免费视频| 两个人日本WWW免费版| 婷婷久久久亚洲欧洲日产国码AV| 91制片厂制作传媒免费版樱花| 亚洲麻豆精品果冻传媒| 性感美女视频在线观看免费精品 | 亚洲国产成人久久精品动漫| 99精品一区二区免费视频| 亚洲精品国产成人| 日韩精品视频免费在线观看| 在线视频网址免费播放| 亚洲网站在线播放| 国产无遮挡又黄又爽免费视频| 久久精品成人免费国产片小草| 久久精品亚洲精品国产色婷| 在线观看无码的免费网站| 黄色网址免费在线观看| 亚洲视频精品在线观看| 国产精品免费看香蕉| 成人毛片100免费观看| 亚洲白嫩在线观看| 亚洲精品国产精品乱码不卡| 99久久久国产精品免费蜜臀| 亚洲成在人线在线播放无码 | 香蕉免费看一区二区三区| 亚洲欧洲日韩在线电影|