はじめてのJava 完全入門
サポートページ
ダウンロード
ダウンロードファイルは,本書でサンプルとして使用したソースコードおよび画像ファイルです。ダウンロードをする前に,以下のご注意をお読みください。
ファイル構成ダウンロードファイルはLHA圧縮されています。解凍すると,1つのテキストファイルと2つのイメージファイル(実行形式ファイル)が現れます。さらに,この実行形式ファイルを実行して解凍すると,複数のイメージファイルを収めたフォルダが現れるようになっています。
(解凍ツールは 窓の杜収録の 圧縮・解凍の項から,あるいは Vector収録の アーカイブユーティリティ の項から無料でダウンロードできます)
テキストファイルには,本書で使われたソースコードが1つにまとめられています。ご利用になる際には,エディタなどで必要部分を切り出してください。
ダウンロード下記リンクを右クリックし[対象をファイルに保存(A)]でダウンロードした上で,解凍を行ってください。
ダウンロード&解凍したテキストファイルは,そのままエディタなどで読むことができます。
jsample.lzh(218KB)Java 2 SDK 5.0の新しいGenerics対応について
Java 2 SDK 5.0からは,型の取り扱いに関する新しいGenerics(ジェネリックス)と呼ばれる「汎用型用法」と「型チェック」と呼ばれる型検証のしくみが導入されました。Java 2 SDK 5.0は,これらの新しい機能をサポートするようになりましたが,基本的に従来のプログラミングに影響を与えないしくみになっています。このため,本書『はじめてのJava 完全入門』の中で取り扱っているJava 2 SDK 1.3ベースのサンプルプログラム(javasmpl.txt)は,Sample14_07を除き,5.0環境でも正しくコンパイルし,実行することができます(コンパイル時に警告が出るものの無視できます)。Sample14_07については「Windowクラスのshow()メソッド」が推奨されないメソッドとなったため,これを「ComponentクラスのsetVisible(true)メソッド」に書き換えなければなりません。
一方,これから先,本書『はじめてのJava 完全入門』の中で取り扱っているサンプルプログラムを積極的にJava 2 SDK 5.0のGenerics(ジェネリックス)対応にするためには,別途,新しい「汎用型用法」と「型チェック」の用法を学んだ上で,関連するコードに5.0用の修正を加えていく必要があります。そこで,その際の読者の便宜のために『はじめてのJava 完全入門』のすべてのサンプルプログラムについて,Java 2 SDK 5.0対応コードを掲載することにしました。全面的に5.0に移行するときには,次のサンプルプログラムの「5.0対応コード.txt」を参照するようにしてください。
download.zip(143KB)なお,修正の必要なプログラムは以下のとおりです。 Sample11_05 …… nullの検証を追加する
- Sample11_06 …… nullの検証を追加する
- Sample13_03 …… Java 2 SDK 5.0に対応
(対応理由:5.0では,Listの汎用型について型宣言が必要である)
- Sample13_05 …… Java 2 SDK 5.0に対応
(対応理由1:5.0では,Vectorの汎用型について型宣言が必要である)
(対応理由2:5.0では,addElement()メソッドでボクシング機能が使える)
- Sample13_06 …… Java 2 SDK 5.0に対応
(対応理由1:5.0では,ArrayListの汎用型について型宣言が必要である)
(対応理由2:5.0では,add()メソッドでボクシング機能が使える)
- Sample13_08 …… Java 2 SDK 5.0に対応
(対応理由:5.0では,LinkedListの汎用型について型宣言が必要である)
- Sample13_09 …… Java 2 SDK 5.0に対応
(対応理由:5.0では,LinkedListの汎用型について型宣言が必要である)
- Sample13_10 …… Java 2 SDK 5.0に対応
(対応理由:5.0では,TreeSetの汎用型について型宣言が必要である)
- Sample13_11 …… Java 2 SDK 5.0に対応
(対応理由:5.0では,TreeMapの汎用型について型宣言が必要である)
- Sample14_04 …… Java 2 SDK 5.0に対応
(対応理由:スレッド終了時の処置を追加)
- Sample14_07 …… Java 2 SDK 5.0に対応
(対応理由:Windowクラスのshow()メソッドは推奨されなくなったため)