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

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

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

    Corsair

    My javaWorld
    數(shù)據(jù)加載中……

    2006年10月29日

    JAVA3D包功能介紹

         摘要: 包 簡介          ...  閱讀全文

    posted @ 2007-04-15 11:06 銀河海盜 閱讀(1711) | 評論 (3)編輯 收藏
    向上轉型中子類將能看到父類被覆蓋字段的現(xiàn)象探討

    我們知道,在子類繼承父類之后,如果子類與父類有同名的字段和方法,那么子類中的子段會代替或隱藏父類的子段,說明子類字段覆蓋了超類字段,但可以通過super關鍵字去訪問超類字段。但是,在我們將子類對象向超類轉型的時候就會發(fā)生這個奇怪的現(xiàn)象,子類對象居然可以看到父類曾經(jīng)被覆蓋掉的字段!就正如下面例子中一樣:

    ?1?class?A{
    ?2?????boolean?bb?=false;
    ?3?}
    ?4?
    ?5?public?class?B?extends?A{
    ?6?????boolean?bb?=?true;
    ?7?????//int?a=1;
    ?8?????public?static?void?main(String[]?args)?{
    ?9?????????B?b?=new?B();
    10?????????A?a?;
    11?????????a=?b;
    12?????????//---??
    13?????????System.out.println(a.bb);
    14?????????//---這句可以理解
    15?????????System.out.println(b.bb);
    16?????????//---??
    17?????????System.out.println(?((A)b).bb);
    18?????????//----
    19?????}
    20?????/*運行結果
    21??????*?false
    22??????*?true
    23??????*?false
    24??????*?*/
    25?}

    為什么會發(fā)生這樣的情況呢?
    關于這種情況的解釋在[美]Peter van der Linden著的《Just Java2》中有了答案:
    P106他說:
    ???一定要注意:當把子類轉換成超類時,子類可以見到或訪問被隱藏的同名變量。Java允許名字重復的原因是,允許將來把新的字段加到超類中,而不影響已經(jīng)使用了該名字的現(xiàn)有子類,子類將會繼續(xù)使用自己的字段副本。除非讓子類以超類對象的形式出現(xiàn),方法可以覆蓋,但是字段不能被覆蓋。注意:最好不要隱藏超類中的字段名。
    ?????
    所以我們在進行向上轉型的時候一定要注意:不要訪問子類中那些“覆蓋”掉父類的字段(它并沒有真正覆蓋掉,在向上轉型的時候就可以訪問的到),要么將子類字段改名(在你知道父類代碼的情況下),要么通過方法來訪問字類字段(方法即使同名也肯定能覆蓋掉)。

    posted @ 2007-03-31 11:31 銀河海盜 閱讀(715) | 評論 (2)編輯 收藏
    繼承帶參數(shù)構造器的超類并且調用自身其他構造器的討論

    // 首先有一個帶參數(shù)的超類:?
    class ?SuperClass {?
    ???String?str
    = " create?superClass?obj " ;?
    ???SuperClass(
    int ?num) {?
    ???????System.out.println(num
    + str);?
    ???}
    ?
    }
    ?
    /*
    現(xiàn)在有一個子類繼承了這個超類,那么這個子類應該顯式的調用超類的構造函數(shù),以便初始化自己的父類,如下。?
    */

    class ?SubClass? extends ?SuperClass {?
    ???SubClass(
    int ?num) {?
    ??????
    super (num);?
    ???}
    ?
    }
    ?
    /*
    現(xiàn)在子類還要定義一個新的構造函數(shù),并且在前一個構造函數(shù)中調用這個新的構造函數(shù),更改如下:?
    */

    class ?SubClass? extends ?SuperClass {?
    ???SubClass(
    int ?num) {?
    ??????
    super (num);?
    ??????
    this ( " other?SubClass(String) " );?
    ???}
    ?
    ???SubClass(String?s)
    {?
    ??????System.out.println(s);?
    ???}
    ?
    ???
    public ? static ? void ?main(String[]?args) {?
    ??????
    new ?SubClass();?
    ???}
    ?
    }
    ?
    /*
    由于我們知道在一個類中的構造函數(shù)中要調用自己的其他構造函數(shù),只能通過this();的方式調用一個,并且要放在所在構造函數(shù)的第一行,但是使用super();顯式調用也父類帶參構造函數(shù)也只能放在第一行,那么這樣就會發(fā)生沖突。
    */
    // 參考:?
    public ? class ?SuperClass? {?
    String?str
    = " create?superClass?obj " ;??
    ?SuperClass(
    int ?num) {??
    ???????System.out.println(num
    + str);??
    ???}
    ??
    }
    ?
    public ? class ?SubClass? extends ?SuperClass? {?
    ???SubClass(
    int ?num) {??
    ??????
    super (num);??
    ??????sub(num,
    " other?Subclass(String) " );?
    ???}
    ??
    ???SubClass(
    int ?num,String?s) {??
    ??????
    super (num);?
    ??System.out.println(s);??
    ???}
    ?
    ???
    // -------------?
    ???SubClass?sub( int ?num,String?s) {?
    ???
    return ? new ?SubClass(num,s);?
    ???}
    ?
    ???
    public ? static ? void ?main(String[]?args) {??
    ??????
    new ?SubClass( 1 );?
    ???}
    ??
    }

    posted @ 2007-03-31 10:56 銀河海盜 閱讀(456) | 評論 (0)編輯 收藏
    關于名稱屏蔽討論

    關于超類方法重載,子類無法覆蓋其中的任意一個方法。

    public?class?SuperClass?{?
    public?void?method(){?
    System.out.println(
    "super?method()?worked.");?
    }
    ?
    public?void?method(int?a){?
    System.out.println(
    "super?method(int)?worked");?
    }
    ?
    public?void?method(String?s){?
    System.out.println(
    "super?method(string)?worked");?
    }
    ?
    }
    ?
    //------------sub---------------?
    public?class?SubClass?extends?SuperClass?{?
    ??
    public?void?method(){?
    ??System.out.println(
    "subclass?method()?worked");?
    ??}
    ?
    ??
    public?void?method(int?a){?
    ??
    super.method(a);?
    ??}
    ?
    ??
    public?void?method(char?c){?
    ??System.out.println(
    "subclass?method(char)?worked");?
    ??}
    ?
    }
    ?
    //------------run---------------?
    public?class?Test?{?
    public?static?void?run(SuperClass?a){?
    a.method();?
    a.method(
    1);?
    a.method(
    "string");?
    }
    ?
    public?static?void?main(String[]?args)?{?
    run(
    new?SubClass());?
    new?SubClass().method('r');?
    }
    ?
    }
    ?
    //=============END===============?
    subclass?method()?worked?
    super?method(int)?worked?
    super?method(string)?worked?
    subclass?method(
    char)?worked?
    //=============END===============?

    posted @ 2007-03-31 10:53 銀河海盜 閱讀(326) | 評論 (1)編輯 收藏
    解決linux環(huán)境下jsp+mysql數(shù)據(jù)庫中文亂碼的問題

    經(jīng)過一個星期的艱苦奮斗終于解決了這個問題,特將經(jīng)驗摘錄下來備忘。本文將解決以下的幾種亂碼問題。

    中文存入 mysql 數(shù)據(jù)表出現(xiàn)的亂碼,從 JSP 頁面讀取 mysql 中文數(shù)據(jù)出現(xiàn)亂碼,以及在 sell 環(huán)境下查看數(shù)據(jù)庫表中文數(shù)據(jù)出現(xiàn)亂碼。

    linux平臺:ubuntu6.10

    mysql版本:5.0

    瀏覽器:firefox2.0

    為了解決中文亂碼的問題首先就是要同一字符集,我采用utf-8

    第一步:安裝mysql后,修改配置文件/etc/mysql/my.cnf 找到相應項并添加如下字段,如下所示:(注意是添加,配置文件中其他不相關的內容下面并沒有列出來)

    [client]

    default-character-set=utf8

    [mysqld_safe]

    default-character-set=utf8

    [mysqld]

    default-character-set=utf8

    [mysql]

    default-character-set=utf8

    重新啟動mysql服務,進入sell終端,進入mysql的命令提示符下輸入如下指令:

    mysql>show variables like '%char%';

    如果出現(xiàn)的列表各項內容和以下相同表明配置成功了,

    +---------------------+---------------------

    | Variable_name | Value

    +-----------------------+---------------------

    | character_set_client | utf8

    | character_set_connection | utf8

    | character_set_database | utf8

    | character_set_filesystem | binary

    | character_set_results | utf8

    | character_set_server | utf8

    | character_set_system | utf8

    | character_sets_dir | /usr/share/mysql/charsets/

    +---------------------+----------------------

    第二步:在要發(fā)送中文或者要讀取中文的JSP頁面(最好所有頁面)都添加如下聲明:

    <%@page pageEncoding="UTF-8"%>

    <%@ page contentType="text/html;charset=utf-8"%>

    <% request.setCharacterEncoding("utf-8"); %>

    <head>標簽對中添加如下:

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

    注意在servlet中對請求進行響應的方法中同樣要有:

    response.setContentType("text/html;charset=utf-8");


    第三步:(由于不明原因firefox發(fā)送的請求仍然是latin1的時候執(zhí)行這一步)

    在將請求的參數(shù)插入數(shù)據(jù)庫之前還要再執(zhí)行一次轉碼(latin1編碼轉換為utf-8),例如:

    String utf8_str = new String( latin_str .getBytes("latin1"),"utf-8");

    這一步可以寫在一個過濾器中,不怕麻煩也可以在每一次在將請求數(shù)據(jù)插入之前都進行一次轉碼。


    另外:在連接數(shù)據(jù)庫的時候可以不用加上字符集參數(shù)了,直接用用戶名和密碼連接就可以了,如連接:

    con=DriverManager.getConnection("jdbc:mysql://localhost:3306/數(shù)據(jù)庫名","用戶名","密碼");

    posted @ 2007-01-14 20:04 銀河海盜 閱讀(2056) | 評論 (0)編輯 收藏
    設計模式學習筆記(2006.10,11,12)

         摘要: 時間過的快么?人的感覺而已,時間還是那樣地流過,但人們卻有不同的感受,收獲的越多,感覺時間過的越慢,認知的越少,時間也就過的越快。有三個月沒寫點什么東西了,為了讓時間記住這三個月都發(fā)生了什么,趁現(xiàn)在還沒有忘記還是記錄下來罷,今天心情不好所以廢話也就多點。 ?????? 按時間順序一個一個來吧。 ...  閱讀全文

    posted @ 2007-01-14 03:19 銀河海盜 閱讀(313) | 評論 (0)編輯 收藏
    linux安裝配置筆記

    關于ubuntu與xp雙系統(tǒng)的安裝過程

    1. (正常安裝完windows之后)分區(qū):使用harddiskmanager或其它分區(qū)軟件劃分一個ext3主分區(qū)和swap分區(qū),另外在擴展分區(qū)中劃分出多個要供linux使用的的邏輯分區(qū)。
    2. 將windows系統(tǒng)分區(qū)的激活狀態(tài)設置為關閉(不能設置為隱藏)。將linux主分區(qū)設置為激活。
    3. 光盤啟動ubuntu的liveCD,進入系統(tǒng)后安裝,手動編輯分區(qū)表:將/root掛載在linux主分區(qū)上,將/usr , /var , /home 掛載在邏輯分區(qū)上。grub安裝在linux的主分區(qū)上(即/root分區(qū)),注意grub的分區(qū)計數(shù)是從0開始,系統(tǒng)目錄掛載分區(qū)技數(shù)從1開始,假如linux系統(tǒng)分區(qū)是第一個硬盤的第三個分區(qū),則系統(tǒng)目錄掛載分區(qū)表示為:/dev/hda3其中a表示第一塊硬盤3表示第三個分區(qū),相應的grub表示為(hd0,2)數(shù)字0表示第一個硬盤,2表示第三個分區(qū)。
    4. 安裝完畢后取出光盤重起進入ubuntu系統(tǒng)。

    配置ubuntu系統(tǒng)

    1. 上網(wǎng):sudo pppoeconf
    2. 更改源:sudo gedit /etc/apt/sources.list 按速度快慢(使用ping測試)將源地址添加在開頭,最后加入官方源。
    3. 更新軟件包信息:sudo apt-get update
    4. 添加中文支持。在語言支持中選chease并打勾,自動下載語言包和輸入法。
    5. 在英文界面下添加輸入法: sudo apt-get install im-switch libapt-pkg-perl sudo im-switch -s scim -z default 注銷一次
    6. ?下載可同軟件的更新。

    與window局域網(wǎng)互聯(lián)

    1. 安裝網(wǎng)絡服務nfs 和 smb 修改靜態(tài)IP。
    2. 添加一個window可訪問的用戶帳號: sudo adduser -a xxx? 輸入密碼? 添加smb用戶 smbpasswd -a xxx 輸入密碼。
    3. 創(chuàng)建一個網(wǎng)絡文件夾的本地掛載點? 協(xié)議:window共享? 服務器:對發(fā)ip? 域:工作組名 用戶名:登錄對方window的帳號 連接名:隨便。

    雙網(wǎng)卡與window實現(xiàn)共享上網(wǎng),ububtu做主機

    1. 下載firestarter安裝,配置:連接internet:pppo -》打開網(wǎng)絡共享:與window互聯(lián)的網(wǎng)卡—》添加策略:inbound traffic policy :Allow connection:對方IP。—》service: DNS ,SSH ,FTP ,HTTP ...?根據(jù)需要開放端口。
    2. 下載并安裝bind9,配置bind9:sudo gedit /etc/bind/name.conf.options 在forwards 下添加域名解析服務器的IP地址。

    其他注意

    1. firefox與flash插件9.0存在兼容問題,使用較低的flash插件版本。
    2. 備份/var/cache/apt/下的所有軟件包文件以避免以后重新下載。以后需要安裝時只需copy相應的軟件包到該目錄下即可。
    3. 可以在使用在windows下安裝的ghost8.3在dos下來備份和恢復linux ext3分區(qū)。
    4. 安裝bin文件:先給予可執(zhí)行權限chmod +x xxx.bin在sell下輸入bin文件所在的路徑執(zhí)行即可,如 ~/backup/xxx.bin
    另外注意備份windows的分區(qū)表,以防萬一

    posted @ 2006-12-25 18:26 銀河海盜 閱讀(404) | 評論 (0)編輯 收藏
    XML精要二

         摘要: DTD和Schema簡介
    DTD和Shema用來定義將用來表示數(shù)據(jù)的元素
    DTD語法
    Schema簡介
    使用 XML 模式,您會有更多的能力來定義什么樣的 XML 文檔是有效的
      閱讀全文

    posted @ 2006-11-01 10:21 銀河海盜 閱讀(234) | 評論 (0)編輯 收藏
    XML精要一

         摘要: 《XML精要》
    前言
    開始學XML也有個把星期了,前后看了幾本書關于XML基礎的書,感覺講的甚是凌亂,有些書甚至干脆直接在網(wǎng)上COPY些資料東抄一點西抄一點最后就出版了(比如《XML語言及應用---清華大學出版社》就干脆直接將網(wǎng)上的《XML初學進階》抄下來,將例子改改就完了)現(xiàn)在中國大學治學的態(tài)度可見一斑,直到本周發(fā)現(xiàn)了一個IBM的在線XML教程,該教程將XML所有的知識分解為一個個單獨的講座,每堂課還介紹了所需要的前提知識以及所要用到到參考資料,而且教程將知識講的非常的簡練和精確,但可惜該教程是在2002年左右發(fā)表的了,在網(wǎng)上資源不是很好找而且比較散,所以我決定將我學的每趟講座的精要和我個人的讀書筆記整理出來形成一個連載,一來鞏固我的學習,二來也可以供大家參考,取名《XML精要》。言歸正傳,那我就開始嘍  閱讀全文

    posted @ 2006-10-29 22:54 銀河海盜 閱讀(339) | 評論 (1)編輯 收藏
    主站蜘蛛池模板: 成年人在线免费看视频| 精品久久免费视频| 亚洲欧洲日韩在线电影| 亚洲gay片在线gv网站| 午夜免费啪视频在线观看 | 亚洲成人高清在线观看| 国产美女被遭强高潮免费网站| 丁香花在线观看免费观看图片 | 久久www免费人成看国产片| 亚洲日本在线观看网址| 亚洲国产av无码精品| 久久久免费精品re6| 国产亚洲成在线播放va| 亚洲天堂男人天堂| 哒哒哒免费视频观看在线www| 激情五月亚洲色图| 国产精品亚洲A∨天堂不卡| 性xxxx视频播放免费| 欧洲人免费视频网站在线| 国产成人久久精品亚洲小说| 日本久久久久亚洲中字幕| 亚洲电影日韩精品 | 亚洲成人在线网站| 免费A级毛片无码A∨男男| 精品国产sm捆绑最大网免费站| 一级中文字幕免费乱码专区| 亚洲w码欧洲s码免费| 成人黄软件网18免费下载成人黄18免费视频 | 亚洲第一成人影院| 久久久高清免费视频 | 在线观看特色大片免费网站| 亚洲AV无码一区二区三区鸳鸯影院| 久久久久亚洲精品天堂| 中文字幕无码精品亚洲资源网| 四虎影视www四虎免费| 2021精品国产品免费观看| 中文字幕视频在线免费观看| 亚洲高清资源在线观看| 最新欧洲大片免费在线| 高潮毛片无遮挡高清免费| 亚洲综合小说另类图片动图|