
ご質問させて頂きます。
自作のクラスファイルがインポート出来ないので困っています。
自作のクラスファイルがある場所
c:\ja
クラスファイル名
TestMap.class
juko.javaにこのようにインポートして、
import TestMap.*;
以下のようにインポートをしようとすると、
C:\ja>javac -d c:\ja juko.java
以下のようなエラーになってしまいます。
-----------------
jukou.java:7: パッケージ TestMap は存在しません。
import TestMap.*;
-----------------
なお、環境設定も以下のように変更してみましたが駄目でした。
CLASSPATH=C:\ja;.;C:\j2sdk1.4.1_02\lib\tools.jar;C:\Program Files\Allaire\JRun\l
ib\ext\servlet.jar;C:\mysql-connector-java-3.1.0\mysql-connector-java-3.1.0-alph
a-bin.jar;
ご教授して頂けたら幸いです。
No.4ベストアンサー
- 回答日時:
おお
そこまでいったってことはimportについては解決したようですね。
TestMap("B") ;
は参照になっていません。
クラス名("B")はコンストラクタにStringの"B"を渡しているということになっているからです。
試しにTestMapクラスに
public String getStr(){
return "呼ばれてますよ!"
}
を追加してみてください。
これで"呼ばれてますよ!"がとれれば大丈夫!!
No.5
- 回答日時:
ちなみに最初のimportがどうのこうのという問題はimportについて正しく理解していないからだと思います。
importはそのクラス(この場合はTestMapクラス)を使うクラスがTestMapをつかうときにpackage名.TestMapでアクセスしなくてはいけないところをTestMapだけでアクセスするためにつかうのです。
こんな書き方をすると他の方から苦情がきそうですが。。。
とりあえずはそんな認識で大丈夫だと思います。
今回はTestMapにpackage宣言がついていないということなのでimportする必要がないということです。
正確には"パッケージ宣言しない"パッケージに属しているということなのですが。。。
No.3
- 回答日時:
TestMap.javaとjuko.javaが同パッケージ内にあるならば
import文は必要ありません。
気になるようでしたらパッケージソースを全てコンパイルしてみてはどうですか。
javac -d C:\ja *.java
No.2
- 回答日時:
c:\ja にクラスパスが通っていて
c:\ja\TestMap.class
となっているのであれば、importはいらないのでは?
この回答への補足
ご返事有り難うございました。
>となっているのであれば、importはいらないのでは?
ということは、自作のクラスファイルを参照する方に問題があるということなんですか?
>TestMap("B") ;
と、参照すると、
>C:\ja>javac juko.java
>juko.java:85: シンボルを解決できません。
>シンボル: メソッド TestMap (java.lang.String)
>場所 : juko の クラス
> TestMap("B") ;
というエラーが表示されてしまいます。
ちなみに、TestMap.javaは以下のような感じです。
-----------------
import java.io.*;
import java.util.*;
public class TestMap
{
/*HashMap生成(クラス変数)*/
class MyData{
public String sDate;
public String sName;
}
private static HashMap hashMap = new HashMap();
/*追加:入力キー(クラス変数)*/
public static String inputKey = null;
private String[] keys = {};
public static void main(String args[]){
try{
TestMap testMap = new TestMap();
testMap.setMap("test.csv");
・
・
・
-----------------
お忙しいところご面倒と思いますが
ご教授して頂けたら幸いです。
No.1
- 回答日時:
(1)
import TestMap.*; を
import TestMap;
としたらできないでしょうか?
(2)
呼び出している側にpackege文があって、
呼び出されている側にはpackege文は存在しないということはないでしょうか?
最近、そういうことが禁止になりました。
(3)
どちらもpackage文を使っておらず、
同じディレクトリに存在するならば、
上記import文を削除すればできるかもしれません。
この回答への補足
ご返事有り難うございました。
早速ですが、
(1)は、
C:\ja>javac -d c:\ja juko.java
juko.java:7: '.' がありません。
import TestMap;
^
と、なってしまいます。
(2)は、TestMap.javaにはpackege文は使用していません。
(3)は、
C:\ja>javac -d c:\ja jukou.java
jukou.java:7: 'class' または 'interface' がありません。
TestMap.*;
^
と、なってしまいます。
お忙しいところご面倒かとは思いますが
ご教授して頂けたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
中学のクラス数
-
UMLのクラス図はmain()も含むん...
-
eclipse でクラスに色
-
僕の出身中学校は200人同級生が...
-
IPアドレスのクラスAを取得して...
-
Cstring(日本語含む)をcharに...
-
packageとimport の違いって?
-
CListCtrlクラスに初期化する関...
-
サーブレットを始めようとした...
-
明示的なserialVersionUIDの意...
-
main()を持つクラスが2つ以上...
-
VB.netのコンテナークラスとは...
-
重複エラーを解決するには
-
標準モジュールとクラスモジュ...
-
どこからも呼ばれていない無意...
-
「囲うインスタンス」のエラー...
-
Imports 文についての疑問!(VB...
-
java eclipse 型に解決できません
-
ヒグマを撃退
-
3年間同じクラスになる確率
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヒグマを撃退
-
中学のクラス数
-
そんなにお金がなくても年に1度...
-
UMLのクラス図はmain()も含むん...
-
どこからも呼ばれていない無意...
-
java eclipse 型に解決できません
-
配列の重複する値とその個数を...
-
EclipseでJSPのコンパイルエラー
-
僕の出身中学校は200人同級生が...
-
コンボボックスのマウスホイー...
-
main()を持つクラスが2つ以上...
-
Cstring(日本語含む)をcharに...
-
同一パッケージにあるクラスが...
-
IPアドレスのクラスAを取得して...
-
dllと同じプロジェクトにする方法
-
標準モジュールとクラスモジュ...
-
VBAもしくはVB6:クラスの中で...
-
Sub-LVDS規格とは
-
同じクラスにならない確率を教...
-
複数のクラスで共通した関数を...
おすすめ情報