2010.05.06

【正誤表】Sunテキスト Sun Certified Programmer for the Java2

Sunテキスト Sun Certified Programmer for the Java2

本の内容の記述の誤りをまとめました。内容を訂正いたしますとともに、読者の皆様にご迷惑をおかけしましたことを、深くお詫び申し上げます。


SKILL-UP TEXTシリーズ:正誤表




Sunテキスト
Sun Certified Programmer for the Java2
Exam【310-035】
正誤表



























































































































































































































































































































































































ページ 段落 位置 修正 登録日時
56 3 4 1 算術演算子の項 int j = j+1; int j = i+1; 3刷にて修正済 2002/12/10
71 3 章末問題 解説中4行目 -1>>>32 -1>>>31 3刷にて修正済 2002/12/16
84 4 2 3 「フィールドとメソッドの違い」の項 項の説明文全体を入れ替え オブジェクトを指す(参照する)変数に対し、「変数.フィールド」は、オブジェクトの型のフィールドではなく、変数の型のフィールドを意味する。しかし、staticのついていないメソッドの場合、「変数.メソッド」では、変数の型ではなく、オブジェクトの型のメソッドが呼び出される(Sample4_2.java参照)。 3刷で修正済 2002/12/27
84 4 2 「フィールドとメソッドの違い」の横 欄外 欄外に追加 !「staticのついていないメソッド」インスタンスメソッド(p.92参照) 3刷で修正済 2002/12/27
85 4 2 プログラム例 13行目 コメントを追加 //DogオブジェクトをAnimalの変数で参照 3刷で修正済 2002/12/27
86 4 3 1 4行目 とあれば,xの値を後から変えることはできない。 とし,その後に「x = 20;」などとすると,そこでコンパイルエラーになる。 2刷は修正済み 2002/11/20
86 4 3 1 ■変数 の最初の2文 finalの付いた変数は,その・・・宣言時に初期化しなければならない。 finalの付いた変数は,1回だけ初期化できるが,その後は変更できない。 2刷では修正 2002/11/20
92 4 6 Pointの1行目 アクセス修飾子・abstract アクセス修飾子、abstract 2刷では修正済み 2002/11/20
101 4 10 「まとめ」上の下から10行目 3-6節参照 4-6節参照 4刷にて修正済み 2003/06/20
114 4 章末問題 4-13の解説2行目 しかし,finalな変数は,・・・必要があるのである。 しかし,finalなフィールドは,宣言の場所やコンストラクタなどではじめに初期化しておく必要がある(p.86参照)。 2刷では修正済み 2002/11/20
120 5 1 第1項の次に新項 下から8行目 新しい項を追加 //変数を使わない方法 オブジェクトは変数を介さずに使うこともできる。たとえば、Dataというクラスにmethというメソッドがあった場合、「new
Data().meth();」で、Dataのオブジェクトを生成し、methを呼び出すことになる。
3刷で修正済 2002/12/27
120 5 1 欄外 1つ目の次に追加 新規欄外注意追加 電球マーク「new Data().meth();」 (new Data()).meth(); あるいは、 Data d = new
Data(); d.meth(); と同じである。すなわち、「(new Data())」がオブジェクトを表す。
3刷で修正済 2002/12/27
122 5 1 3 「配列要素の初期化」のコード 1行のものを2行に修正 int[] data2 = {0, 10, 20}; または int[] data2 = new int[]{0, 10, 20}; 3刷で修正済み 2002/12/27
122 5 2 1 7行目横 新規欄外項目追加 ! int m = 10; int[] data = new int[m]; などは問題ない。 3刷で修正済 2002/12/27
122 5 1 欄外 一番下の注 int[]x[]; int []x[]; 3刷で修正済み 2002/12/27
122 5 2 1 8行目 「すなわち、...問題ない。」を削除 3刷で修正済 2002/12/27
126 5 4 下から7行目 オブジェクトをyとすると オブジェクトを参照する(指す)変数をyとすると 4刷にて修正済み 2003/06/20
154 6 4 コンパイルエラー枠最終行 Yがfinalでなければ Xがfinalでなければ 2刷では修正済み 2002/11/20
171 7 1 2 表中のreturnの解説中 「return 値:」のように 「return 値;」のように 2刷では修正済み 2002/11/20
176 7 4 2 項タイトル swithch文 switch文 3刷で修正済み 2002/12/27
194 8 2 1 枝分かれの図中 Trowable Throwable 3刷で修正済み 2002/12/27
195 8 2 欄外AssertionError解説中 Assertion Errorがスローされる。 AssertionErrorがスローされる。これはErrorのサブクラスである。 4刷にて修正済み 2003/06/20
214 9 4 下から3行目 bablnced( ); balanced( ); 3刷で修正済み 2002/12/27
226 10 1 欄外「ネストクラス」の最終行 当然staticな・・・アクセスできない。 削除 2刷では修正済み 2002/11/20
229 10 2 プログラム例7行目 “Inner : ” + を削除 3刷で修正済み 2002/12/27
244 11 1 第2項横 欄外に注追加
Threadクラスはabstractではないので、runをMyThreadでオーバーライドしなくても、コンパイルエラーにはならない。すなわち、「class
MyThread extends Thread{}」でも、スレッドによる処理が「なし」であるだけで、エラーではない。
3刷で修正済み 2002/12/27
244 11 1 2番目のコードの横 新規注追加 !変数mtを使わずに new MyThread().start();
としてもよい。これで右のコードと同じ意味になるのである(p.120参照)。
3刷で修正済み 2002/12/27
244 11 1 第3項横 新規注追加
Runnableはインタフェースなので、MyRunnableでは、runの定義を書かなければならない。ちなみに、ThreadもRunnableを実装しているクラスである。
3刷で修正済み 2002/12/27
245 11 1 最初のコード横 新規注追加 !変数mr、tを使わずに new Thread(new MyRunnable()).start();
としてもよい。これで左のコードと同じ意味になるのである(p.120参照)。
3刷で修正済み 2002/12/27
258 11 0 章末問題11-5の選択肢A waitやnotifyは,同期指定したコード中に書かなければならない。 waitやnotifyは,ロックを取得したスレッドから呼び出さなければならない。 2刷では修正済み 2002/11/20
267 11 0 演習問題12 Bの選択肢中の「コート」 コード 3刷で修正済み 2002/12/27
278 12 3 1 表中 shor t short 3刷で修正済み 2002/12/27
278 12 3 1 表中 Charactershort Character 3刷で修正済み 2002/12/27
284 12 6 表中 Listの説明 順序付けられたコレクション。通常は要素の重複も許す。インデックスを使うメソッドもある。 3刷で修正済み 2002/12/27
285 12 6 表中 LinkedListの説明 内部にリンクリスト構造(図12-6-1参照)を持つ(Listを実装) 3刷で修正済み 2002/12/27
285 12 6 図中 リスト リンクリスト 3刷で修正済み 2002/12/27
285 12 6 一番上の欄外用語解説 解説内容を差し替え 一般的な、リンクリスト(連結リスト)、マップ、セットのイメージ。ただし例えば、「Listインタフェースを実装するクラス」とは、「Listのメソッドを定義しているクラス」であって、それが実際に、図の「リンクリスト」のような内部構造を持つとは限らない。 3刷で修正済み 2002/12/27
285 12 6 表中 ArraiListとVectorの解説 内部に配列の構造(大きさは適宜調節)を持つ(Listを実装) 3刷で修正済み 2002/12/27
354 模擬試験 0 49問の選択肢C waitやnotifyは,同期指定したコード中に書かなければならない。 waitやnotifyは,ロックを取得したスレッドから呼び出さなければならない。 2刷では修正済み 2002/11/20
355 模擬試験 0 50問の選択肢C waitメソッドは同期指定したコードの中でしか呼び出すことはできない。 waitoメソッドはロックを取得したスレッドから呼び出さなければならない。 2刷では修正済み 2002/11/20
370 模擬試験 0 第16問の解説最下行 アクセス制限が強い アクセス制限が弱い 4刷にて修正済み 2003/06/20