
ご質問させて頂きます。
自作のクラスファイルがインポート出来ないので困っています。
自作のクラスファイルがある場所
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ランキング
-
複数のクラスで共通した関数を...
-
そんなにお金がなくても年に1度...
-
BSアンテナのサイズ(札幌)に...
-
僕の出身中学校は200人同級生が...
-
学校でスマホを使った授業があ...
-
VBソースからクラス仕様書作成
-
同じパッケージ、クラス名が含...
-
「天声人語」をインターネット...
-
コミュニケーション能力を高め...
-
A・B・Cクラスとは?
-
3年間同じクラスになる確率
-
UMLのクラス図はmain()も含むん...
-
ページ遷移時にアコーディオン...
-
La casa de espana
-
ネスカフェ エクセラ と UCCク...
-
成人式の後中3のクラスで集まろ...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
c++,ある関数のクラスから別の...
-
Fileの読み取り専用の解除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
僕の出身中学校は200人同級生が...
-
今日は こどもの日 で、良い天...
-
どこからも呼ばれていない無意...
-
そんなにお金がなくても年に1度...
-
中学生です。 私は教室の黒板に...
-
恋愛
-
EclipseでJSPのコンパイルエラー
-
java eclipse 型に解決できません
-
共通で使う関数を集めたクラス...
-
main()を持つクラスが2つ以上...
-
同一パッケージにあるクラスが...
-
配列の重複する値とその個数を...
-
「隣の芝生は青く見える」現象...
-
重複エラーを解決するには
-
UMLのクラス図はmain()も含むん...
-
複数のクラスで共通した関数を...
-
VBAもしくはVB6:クラスの中で...
-
命名規約は連番でいいのか?
-
eclipse でクラスに色
-
3年間同じクラスになる確率
おすすめ情報