アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルの内容を読み込むプログラムをJavaで作成しています。
Scannerクラスを利用するため、以下のようにimport宣言しました。

package bc;
import java.util.Scanner;
class FileScanner
{
 コンストラクタ{

  }
 メソッド{

  }
   :
   :
 mainメソッド{

  }


という感じで書いているのですが、この場合のメソッド名は、
Scannerクラスで定義されている名前でないとダメなのでしょうか?
自分で作った名前でメソッドを定義したのですが、

Scannerクラスで定義されていません。

というようなエラーが返ってきてうまくいきません。
どなたか、ご教授くださいm(_ _)m

A 回答 (2件)

ANo.1さんのおっしゃるとおりで、何をおっしゃっているのかよくわからないのですが、


Javaのクラスに関して、根本的なところで勘違いがありそうです。

Scannarクラスに動作をさせたいというプログラムなのですから、
Scannerクラス内のメソッドを書かないで動作するはずがないと思うのですが。

もちろん、あなたが作ったメソッドの中でScannerクラスのメソッドを呼ぶようにすればできます。

Javaから離れて、一般的な話をすると、
「あなた」が「電話」をかける場合、
「あなた」が「電話」の「送話部」を「耳にあてる」
「あなた」が「電話」の「ボタン」を「押す」
わけです。
ここで、JAVAのオブジェクト指向風にいうと
「あなた」:mainメソッドを含んだあなたが作成したクラス
「電話」:Scannerクラス
「送話部」「ボタン」:Scannerクラス内の各メンバ変数
「耳に当てる」「押す」:Scannerクラス内の各メソッド
となります。

どんなにがんばっても「あなた」が「電話」になることはないわけで
あなたが勝手に作ったメソッドを呼んでScannerクラスが動作することはないのです。
    • good
    • 0
この回答へのお礼

とても分かり易いご回答、感謝致します。
勉強不足でした^^;
ご教授ありがとうございます。

お礼日時:2007/05/02 14:55

質問者さんが書いたコードだと,Scannerクラスをどこで利用してるのかがわかりません.


importしただけじゃ意味がないですよ.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!