<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創造了水;
    因為黑暗,上帝創造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經典

    OA系統

    Spring在線

    Structs在線

    專家專欄

    企業信息化

    大型設備共享系統

    工作流

    工作流產品

    網上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    1.源碼:
    abstract class Name {
       
    private String name;
       
    public abstract boolean isStupidName(String name) {}
    }
    運行錯誤提示:
    C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java
    E:\myprogram\problem\Name.java:3: 抽象方法不能有主體
       public abstract boolean isStupidName(String name) {}
                               ^
    1 錯誤

    C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java
    E:\myprogram\problem\Name.java:4: 需要 ';'
    }
    ^
    1 錯誤

    C:\Documents and Settings\wangzengwei>javac E:\myprogram\problem\Name.java

    大俠們,這有何錯誤?
    答案: 錯。abstract method必須以分號結尾,且不帶花括號。
    2.源碼:
    public class Something {
       
    void doSomething () {
           
    private String s = "";
           
    int l = s.length();
       }
    }
    運行錯誤提示:
    E:\myprogram\problem>javac Something.java
    Something.java:
    3: 非法的表達式開始
           
    private String s = "";
           
    ^
    1 錯誤

    E:\myprogram\problem
    >javac Something.java

    有錯嗎?
    答案: 錯。局部變量前不能放置任何訪問修飾符 (private,public,和protected)。final可以用來修飾局部變量
    (final如同abstract和strictfp,都是非訪問修飾符,strictfp只能修飾class和method而非variable)。
    3.源碼:
    abstract class Something1 {
       
    private abstract String doSomething ();
    }
    運行錯誤提示:
    E:\myprogram\problem>javac Something1.java
    Something1.java:
    2: 非法的修飾符組合:abstract 和 private
       
    private abstract String doSomething ();
                               
    ^
    1 錯誤
    這好像沒什么錯吧?
    答案: 錯。abstract的methods不能以private修飾。abstract的methods就是讓子類implement(實現)具體細節的,怎么可以用private把abstract
    method封鎖起來呢? (同理,abstract method前不能加final)。
    4.源碼:
    public class Something2 {
       
    public int addOne(final int x) {
           
    return ++x;
       }
    }
    運行錯誤提示:
    E:\myprogram\problem>javac Something2.java
    Something2.java:
    3: 不能指定最終參數 x
           
    return ++x;
                    
    ^
    1 錯誤

    這個比較明顯。
    答案: 錯。int x被修飾成final,意味著x不能在addOne method中被修改。
    5、源碼:
    public class Something3 {
       
    public static void main(String[] args) {
           Other o 
    = new Other();
           
    new Something3().addOne(o);
       }
       
    public void addOne(final Other o) {
           o.i
    ++;
       }
    }
    class Other {
       
    public int i;
    }
    和上面的很相似,都是關于final的問題,這有錯嗎?
    答案: 正確。在addOne method中,參數o被修飾成final。如果在addOne method里我們修改了o的reference
    (比如: o = new Other();),那么如同上例這題也是錯的。但這里修改的是o的member vairable
    (成員變量),而o的reference并沒有改變。
    6、源碼:
    class Something4 {
        
    int i;
        
    public static void main(String[] args) {
           Something4 st4 
    = new Something4();
           st4.doSomething();       
        }
        
    public void doSomething() {
            System.out.println(
    "i = " + i);
        }
    運行結果如下:
    E:\myprogram\problem>javac Something4.java

    E:\myprogram\problem
    >java Something4
    = 0

    有什么錯呢? 看不出來啊。
    答案: 正確。輸出的是"i = 0"。int i屬於instant variable (實例變量,或叫成員變量)。instant variable有default value。int的default value是0。
    7、源碼
    class Something5 {
        
    final int i;
        
    public void doSomething() {
            System.out.println(
    "i = " + i);
        }
    }
    運行錯誤提示:
    E:\myprogram\problem>javac Something5.java
    Something5.java:
    1: 可能尚未初始化變量 i
    class Something5 {
    ^
    1 錯誤
    和上面一題只有一個地方不同,就是多了一個final。這難道就錯了嗎?
    答案: 錯。final int i是個final的instant variable (實例變量,或叫成員變量)。final的instant variable沒有default value,必須在constructor (構造器)結束之前被賦予一個明確的值。可以修改為"final int i = 0;"。
    修改正確后的代碼:
    class Something5 {
        
    final int i=0;
        
    public static void main(String[] args) {
           Something5 st5 
    = new Something5();
           st5.doSomething();       
        }
        
    public void doSomething() {
            System.out.println(
    "i = " + i);
        }
    }
    運行結果如下:
    E:\myprogram\problem>javac Something5.java

    E:\myprogram\problem
    >java Something5
    = 0
    posted on 2006-02-10 09:37 ★yesjoy★ 閱讀(410) 評論(0)  編輯  收藏 所屬分類: JAVA代碼查錯

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 四虎影视永久免费视频观看| 91禁漫免费进入| 四虎影在线永久免费观看| 亚洲人成网男女大片在线播放| 96免费精品视频在线观看| 久久亚洲AV成人无码国产| a级午夜毛片免费一区二区| 亚洲乳大丰满中文字幕| 久久99久久成人免费播放| 亚洲午夜久久久久久久久久| 中文字幕免费观看视频| 伊伊人成亚洲综合人网7777| 国产黄色免费观看| 亚洲AV无码1区2区久久| 中文字幕免费在线看线人| 亚洲国产精品白丝在线观看| 精品久久久久国产免费| 亚洲成在人线在线播放无码| 免费成人午夜视频| 中文字幕永久免费视频| 亚洲人成电影在线天堂| 免费精品国产自产拍在 | 6080午夜一级毛片免费看6080夜福利| 亚洲AV日韩AV永久无码下载| 永久黄色免费网站| 亚洲乱码中文字幕在线| 国产精品亚洲w码日韩中文| a视频免费在线观看| 亚洲免费视频观看| 免费又黄又爽的视频| 拍拍拍无挡免费视频网站| 亚洲精品456在线播放| 蜜臀91精品国产免费观看| 一级成人a免费视频| 亚洲欧洲免费视频| 四虎成人免费影院网址| 中文字幕在线成人免费看| 亚洲日本香蕉视频观看视频| 国产又黄又爽又猛的免费视频播放 | 亚洲欧美第一成人网站7777| 久久久精品国产亚洲成人满18免费网站 |