改訂新版 初体験Java

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

補足情報

JDKのインストール時のトラブル

JDKのインストール時のパスの設定などでトラブっている場合には,次の,旧版書籍のサポートページが参考になりますのでご覧ください。

http://www.gihyo.co.jp/book/2000/179111/download/index1.html

public void~の意味することは

読者の方から質問を受けたものを著者が答えましたので,参考までに掲載いたします。

質問:pablic voidについて

P.88のソースコードに始めて登場して,その後も常に登場し続けている,public void~の意味することは何かということをぜひ教えてください。

はじめまして。『初体験Java』著者の丸の内とらと申します。

このたびは拙著をご購読いただき,誠にありがとうございました。


ご質問についてですが,

public void ********() { ...... }

というのは,Javaのクラスに持たせる「メソッド」を宣言するための書式です。メソッドが何かという事については,P102~103をご覧下さい。

本書では主に,別のクラスの持つメソッドを呼び出して使うケースを多く扱っていますが,このような形で自分の作るクラスにメソッドを持たせ,別のクラスから呼び出せるようにすることもできるのです。

なお,public というのは,そのメソッドを「どんなクラスからでも呼び出せる」ものにしたい時につけるものです。

逆に,「自分自身の外からは呼び出されたくない」という時には, public の部分を private に変えてやります。こうすると,そのクラスの中でだけ使えるメソッドを作ることができます。

void というのは,「(メソッドの戻り値が)なにもない」という事を示すものです。

メソッドには,drawGraphicのように「何かを実行するだけ」のものと,「実行した結果,何かの値を返す」ものとの二つの種類があります。実行するだけ(値は返さない)のメソッドを定義する場合には,このvoidというキーワードをつけてやります。逆に,何らかの値を返すメソッドを定義するときには,返したい値のデータ型をここに指定します。

たとえば,何かの計算を行って,その結果をint型の値として返すメソッドを定義する場合は,次のようになります。

public int calculate() { ..... }

お詫びと訂正(正誤表)

弊社発売の「改訂新版 初体験Java」におきまして,現在までに,以下に示しますような誤り・訂正事項がありました。この場をお借りいたまして,本書をお買い上げいただいた読者の方々や関係者に書籍の内容に誤りのあったことを深くお詫びいたします。

改訂第2版 初版(2004年1月26日更新)

P.112 「ちょっとひとこと」中

Core Java API
Java Core API

P.123 図4-3-3~図4-3-6

正しくは以下の通りになります。

Core Java API
Java Core API

  • 図4-3-3

    drawRect(10, 10, 180, 20)

  • 図4-3-4

    drawRect(10, 10, 20, 180)

  • 図4-3-5

    drawRect(10, 170, 180, 20)

  • 図4-3-6

    drawRect(170, 10, 20, 180)

P.124 「ヒント」中

a~dまでの四角形を……
123ページの図4-3-3,図4-3-4,図4-3-5,図4-3-6のそれぞれの四角形を……

P.127 3.課題(アプレットの作成実習)の最初の行

次のコーディング例を参考に,開始点(50,50)から幅・長さ(50,50)の地点を……
次のコーディング例を参考に,開始点(10,10)から幅・高さ(60,60)の地点を……

P.128 【解答】ウ

60
50

P.150 下から8行全て

雑な事情がありますが,例えていうなら……ImageObserverでもあるのです.

→次ページとダブっていますので,削除をしてください。

P.215 一番下の行

[イ]flag == 0
[イ]flag == 1

P.221 リスト6-3-2

【4行目】

Button [] myBtn;;
Button[] myBtn;

【9行目】

add(myBtn [count ] == new Button("Button"+……
add(myBtn[ count ] = new Button("Button"+……;

【10行目】

}
この行を削除

P.334 A.3 Imageクラス

「インスタンスの作成」の冒頭三行を削除の上,下記文章を挿入

Imageクラスは抽象クラスであるため,newを使ってインスタンスを作成することはできません。インスタンスの取得には,下記のgetImageメソッドなどを使います。