2009/05/28 (Thu)
今日も今日とてJavaです。
*----------------------------------------------------*
Java入門3 キーボードからの入力
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava3.html
*----------------------------------------------------*
*****************************************************************
//Hello2.java
上記サイト様をご参照ください。
*****************************************************************
//Sum.java
上記サイト様をご参照ください。
*****************************************************************
ここらへんはまぁ、なんとなくやってることは分かります。
サイトの解説も分かりやすいので BufferedReader についても把握できました。
インポートと「throws IOException」についても調べるまでもなく解説されているのでこの回は問題なさそうです。
しかし、これで終わるのも簡素過ぎなので、「Java.io.*;」についてちょっと調べてみました。
まず、インポートっていうけどどこから引っ張ってきてるの?
っていうのがすごーく気になります。
ググル先生に聞いてみました>「Java インポート どこにある」
んでヒットしたページが↓です。
JDKフォルダ の中の libフォルダ にあるってことで探してみました。
が、libフォルダの中にはない。
じゃあどこにあるんだろう、と探したところ、「src.zip」なるものを発見。
「Eclipse」触ったときに「src」フォルダの中に色々とあったような覚えがあるので解凍してみることに。
****解凍****
ありました! src>java>ioと無事目当てのフォルダと、ファイルを見つけることができました。
先達ありがとう。
さて、ここで調べたかったのは「IOException」について。
今の段階でちんぷんかんぷんでもどんな処理をしているかだけでも見ておきたいんです。
>「throws IOException」のIOExceptionは、「入出力時の例外」というものを表しています。throwsは、「投げ出せ」という程度の意味なのです。
という解説の通りにいくと、「IOException」はエラーに関する処理を行っているんでしょうか?
みてみます。
「src\java\io\IOException.java」
*********************************************************************
/*
* @(#)IOException.java 1.21 03/01/23
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.io;
/**
* Signals that an I/O exception of some sort has occurred. This
* class is the general class of exceptions produced by failed or
* interrupted I/O operations.
*
* @author unascribed
* @version 1.21, 01/23/03
* @see java.io.InputStream
* @see java.io.OutputStream
* @since JDK1.0
*/
public
class IOException extends Exception {
/**
* Constructs an <code>IOException</code> with <code>null</code>
* as its error detail message.
*/
public IOException() {
super();
}
/**
* Constructs an <code>IOException</code> with the specified detail
* message. The error message string <code>s</code> can later be
* retrieved by the <code>{@link java.lang.Throwable#getMessage}</code>
* method of class <code>java.lang.Throwable</code>.
*
* @param s the detail message.
*/
public IOException(String s) {
super(s);
}
}
*********************************************************************
……あぁ、やっぱりちんぷんかんぷん。
うん。わかっていたけどもちんぷんかんぷんですね。
「error」「message」の単語があるのエラーメッセージを表示しているのかな。
>error detail message
「detail」が「詳細」などの意味があるので、「エラー詳細内容」みたいな感じでしょうか。
ここでよくわからない書き方を発見。
昔勉強したはずなのに理由が思い出せないや。
まぁそのうち思い出すだろう。
あと、何回教えてもらっても分からないのが↓
えーと、これは「IOException」クラスが「Exception」クラスを拡張しているってことでいいんだっけか??
てかそもそも拡張ってなんだ。
またググル先生に聞いてみた>「Java extendsとは」
>簡単な例を言うと、「ラジオカセット」クラスを継承して、「CD」機能を追加した「CDラジオカセット」クラスを作る。ということになります。
ほう、わかりやすいな。
てことは、「Exception」クラスを継承して「IOException」クラスでなんか追加してるよってことか。
……と読み続けたらまたよく分からなくなった。
例のスーパークラスもサブクラスもやってることは同じだよね??
わざわざ継承・拡張指定する必要があるの???
さっきの「ラジオカセット」クラスと「CDラジカセット」クラスの例を思い出してみる。
「カセット」 を「再生」
「CD」 を「再生」
みたいな感じだからだろうか。
あ、そう考えると
>このようにスーパークラスを継承したサブクラスを new してインスタンスを作成するとサブクラスだけではなくスーパークラスをも呼び出すことが可能になります。
てことの意味がわかる!
なるほどねー!
とりあえず「extends」の大まかなところは理解できた!
*----------------------------------------------------*
Java入門3 キーボードからの入力
http://www.asahi-net.or.jp/~YF8K-KBYS/newjava3.html
*----------------------------------------------------*
*****************************************************************
//Hello2.java
上記サイト様をご参照ください。
*****************************************************************
//Sum.java
上記サイト様をご参照ください。
*****************************************************************
ここらへんはまぁ、なんとなくやってることは分かります。
サイトの解説も分かりやすいので BufferedReader についても把握できました。
インポートと「throws IOException」についても調べるまでもなく解説されているのでこの回は問題なさそうです。
しかし、これで終わるのも簡素過ぎなので、「Java.io.*;」についてちょっと調べてみました。
まず、インポートっていうけどどこから引っ張ってきてるの?
っていうのがすごーく気になります。
ググル先生に聞いてみました>「Java インポート どこにある」
んでヒットしたページが↓です。
*---------------------------------------------------------------------*
【普段、importするクラスはどこにある?】
http://okwave.jp/qa4939561.html
*---------------------------------------------------------------------*
【普段、importするクラスはどこにある?】
http://okwave.jp/qa4939561.html
*---------------------------------------------------------------------*
JDKフォルダ の中の libフォルダ にあるってことで探してみました。
が、libフォルダの中にはない。
じゃあどこにあるんだろう、と探したところ、「src.zip」なるものを発見。
「Eclipse」触ったときに「src」フォルダの中に色々とあったような覚えがあるので解凍してみることに。
****解凍****
ありました! src>java>ioと無事目当てのフォルダと、ファイルを見つけることができました。
先達ありがとう。
さて、ここで調べたかったのは「IOException」について。
今の段階でちんぷんかんぷんでもどんな処理をしているかだけでも見ておきたいんです。
>「throws IOException」のIOExceptionは、「入出力時の例外」というものを表しています。throwsは、「投げ出せ」という程度の意味なのです。
という解説の通りにいくと、「IOException」はエラーに関する処理を行っているんでしょうか?
みてみます。
「src\java\io\IOException.java」
*********************************************************************
/*
* @(#)IOException.java 1.21 03/01/23
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package java.io;
/**
* Signals that an I/O exception of some sort has occurred. This
* class is the general class of exceptions produced by failed or
* interrupted I/O operations.
*
* @author unascribed
* @version 1.21, 01/23/03
* @see java.io.InputStream
* @see java.io.OutputStream
* @since JDK1.0
*/
public
class IOException extends Exception {
/**
* Constructs an <code>IOException</code> with <code>null</code>
* as its error detail message.
*/
public IOException() {
super();
}
/**
* Constructs an <code>IOException</code> with the specified detail
* message. The error message string <code>s</code> can later be
* retrieved by the <code>{@link java.lang.Throwable#getMessage}</code>
* method of class <code>java.lang.Throwable</code>.
*
* @param s the detail message.
*/
public IOException(String s) {
super(s);
}
}
*********************************************************************
……あぁ、やっぱりちんぷんかんぷん。
うん。わかっていたけどもちんぷんかんぷんですね。
「error」「message」の単語があるのエラーメッセージを表示しているのかな。
>error detail message
「detail」が「詳細」などの意味があるので、「エラー詳細内容」みたいな感じでしょうか。
ここでよくわからない書き方を発見。
---------------------------------------------------
public IOException() {
super();
}
---------------------------------------------------
と
---------------------------------------------------
public IOException(String s) {
super(s);
}
---------------------------------------------------
なんでわけるんだっけ……?public IOException() {
super();
}
---------------------------------------------------
と
---------------------------------------------------
public IOException(String s) {
super(s);
}
---------------------------------------------------
昔勉強したはずなのに理由が思い出せないや。
まぁそのうち思い出すだろう。
あと、何回教えてもらっても分からないのが↓
------------------------------------------------------
public class IOException extends Exception {
~略~
}
------------------------------------------------------
※src\java\lang\Exception.javaのコードは割愛
public class IOException extends Exception {
~略~
}
------------------------------------------------------
※src\java\lang\Exception.javaのコードは割愛
えーと、これは「IOException」クラスが「Exception」クラスを拡張しているってことでいいんだっけか??
てかそもそも拡張ってなんだ。
またググル先生に聞いてみた>「Java extendsとは」
*------------------------------------------------*
extends (えくすてんず)
http://www.okapiproject.com/java/java_ref/foundation/extends.htm
http://www.okapiproject.com/java/java_ref/index.html
*------------------------------------------------*
extends (えくすてんず)
http://www.okapiproject.com/java/java_ref/foundation/extends.htm
http://www.okapiproject.com/java/java_ref/index.html
*------------------------------------------------*
>簡単な例を言うと、「ラジオカセット」クラスを継承して、「CD」機能を追加した「CDラジオカセット」クラスを作る。ということになります。
ほう、わかりやすいな。
てことは、「Exception」クラスを継承して「IOException」クラスでなんか追加してるよってことか。
……と読み続けたらまたよく分からなくなった。
例のスーパークラスもサブクラスもやってることは同じだよね??
わざわざ継承・拡張指定する必要があるの???
さっきの「ラジオカセット」クラスと「CDラジカセット」クラスの例を思い出してみる。
「カセット」 を「再生」
「CD」 を「再生」
みたいな感じだからだろうか。
あ、そう考えると
>このようにスーパークラスを継承したサブクラスを new してインスタンスを作成するとサブクラスだけではなくスーパークラスをも呼び出すことが可能になります。
てことの意味がわかる!
なるほどねー!
とりあえず「extends」の大まかなところは理解できた!
PR
この記事にコメントする
!
初心者が書いているためブログ内のコードには効率の悪いもの、誤った文法も含まれます。
ご指摘・アドバイス大歓迎です。
ブログ内検索
カテゴリー
最新記事
(06/03)
(11/23)
(01/31)
(07/18)
(07/02)
カレンダー
03 | 2025/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
最新CM
最新TB
プロフィール
HN:かがみ奎/かがみけい
性別:女性
職業:PG見習い
趣味:読書
自己紹介:
大学浪人中退、フリーターを経てIT業界に。
今はLotusNotesのエンジニア目指してる文系女子。
今はLotusNotesのエンジニア目指してる文系女子。
***