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

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

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

    編程生活

       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      113 隨筆 :: 0 文章 :: 18 評論 :: 0 Trackbacks

    如下代碼會出問題
    public class C {
        private String c1;

        private String c2;

        public void setC1(String c1) {
            this.c1 = c1;
        }

       public String getC1() {
            return this.c1;
        }

        public void setC2(String c2) {
            this.c2 = c2;
        }

       public String getC2() {
            return this.c2;
        }
    }

    public abstract class A extends Composite {
        public A(Composite parent, int style) {
            super(parent, style);
            createMainBody(parent);
            createOtherBox();
        }
        
        protected abstract void createMainBody(Composite parent);
        protected abstract void createOtherBox(Composite parent);
    }

    public class B extends A{
        private Text b1 = null; //VE生成的
        ...
        private C c = new C();

        public B(Composite parent, int style) {
            super(parent, style);
        }
        
        protected void createMainBody(Composite parent) {
            b1 = new Text(parent, SWT.NONE);
            b1.addModifyListener(new ModifyListener() {
                public void modifyText(ModifyEvent e) {
                    c.setC1(b1.getText());
                    fireFormDataChange();
                }
            });
            b1.setText("Hello...");
            ...
        }
        ...
    }
    一運行代碼出錯了,經(jīng)過調(diào)試才發(fā)現(xiàn)B初始化時,在super(..)執(zhí)行完之前并沒有初始化本類(這是對的),自己的代碼實現(xiàn)有問題.
    注意:類初始化時,首先初始化父類,再初始化本類的變量聲明部分,初始化父類時如果回調(diào)到子類的某些類的實現(xiàn),而這些實現(xiàn)方法又完成了對聲明變量的創(chuàng)建,再回來初始化本類時,如果聲明變量有初始值,又會將這些變量設(shè)置到初始值狀態(tài),因此,會發(fā)現(xiàn)這些變量無法訪問了.一切都是對的,只是自己太相信VE生成的代碼了.
    改動很簡單,只是將
    public class B extend   A { 
        private Text b1;    
        ...
        private C c;

        public B(Composite parent, int style) {
            super(parent, style);
        }
        
        protected void createMainBody(Composite parent) {
            c = new C();
            ...
        }
    }
    好,這樣就一切OK.類的初始化過程的學(xué)習(xí)還是很重要的.

    posted on 2007-11-06 09:09 wilesun 閱讀(637) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费无码又爽又刺激高潮| 午夜视频免费成人| 日本免费人成网ww555在线| 67194成手机免费观看| 免费爱爱的视频太爽了| 亚洲AV一二三区成人影片| 2022国内精品免费福利视频| 亚洲免费人成视频观看| 亚洲国产精品自产在线播放| 亚洲精品无码久久久久久久| 高清免费久久午夜精品| 成人免费视频一区| 亚洲AV美女一区二区三区| 国产亚洲精品2021自在线| 免费能直接在线观看黄的视频 | 亚洲人成网站18禁止一区| 亚洲六月丁香六月婷婷蜜芽| 国产乱子伦精品免费视频| 免费亚洲视频在线观看| 亚洲伊人久久大香线蕉| 在线播放免费人成视频在线观看| 爱情岛论坛亚洲品质自拍视频网站 | 日韩av无码免费播放| vvvv99日韩精品亚洲| 欧洲 亚洲 国产图片综合| 99免费视频观看| 精品亚洲综合久久中文字幕| 黄色一级视频免费观看| 国产男女猛烈无遮挡免费网站| 精品亚洲成在人线AV无码| 好男人看视频免费2019中文 | 黄色网址在线免费观看| 亚洲精品成人无限看| 国产精品免费αv视频| 亚洲欧洲日产国码久在线观看| 最新久久免费视频| 亚洲永久精品ww47| 国产特黄特色的大片观看免费视频| 亚洲av无码一区二区三区不卡| 国产视频精品免费视频| 亚洲一区二区三区播放在线|