同一パッケージ内の継承について

同一パッケージ内で継承したクラス Test2.java をコンパイルすると「シンボルを見つけられません シンボル:クラス...

bnosuke-x さんからの 回答

  • 2006/11/05 23:59
  • 回答No.1
bnosuke-x

ベストアンサー率 39% (43/110)

Test2.java に以下2つのどちらかの修正を行うとうまくいくと思います。
1)Test1 の完全クラス名を import する
具体的には、
import text.Test1;
を最初に書く。

2)Test1 を完全クラス名で書く
Test1
と書いていたところを全て
test.Test1
に置き換える。

あと、コンパイルするとき、カレントディレクトリは「D:\java\」でやってみて下さい。
お礼コメント
akomot

お礼率 96% (169/176)

早速のご回答ありがとうございます。
1)の方法でコンパイルできました。
ただ,なぜカレントディレクトリをD:\javaにしなくてはいけないのかもう少し勉強してみます。
投稿日時:2006/11/06 10:09
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
  • パッケージ内でコンパイルできない Java

    パッケージを作成して,以下のようなディレクトリ構成にしました. . ├── Sample.java └── vehicle   ├── MiniCar.java   ├── SuperCar.java   └── Vehicle.java vehicleディレクトリ内で $ javac SuperCar.java このようにコンパイルしました.ですが, SuperCar.java:3: シンボルを見つけられません。 シンボル: クラス Vehicle public class SuperCar extends Vehicle { ^ エラー 1 個 このようなエラーが出力されました. 同じディレクトリにあれば,ファイルを見つけに行ってくれると思いましたが, なぜコンパイルできないのでしょうか? #ちなみに,階層を1つ登って #$javac Sample.java #これはコンパイルできて,実行もできました. -- Sample.java -- import vehicle.*; public class Sample {    public static void main(String[] args) {      MiniCar mini = new MiniCar(2);      SuperCar scar = new SuperCar("Red");    } } -- MiniCar.java -- package vehicle; public class MiniCar extends Vehicle {   int num;   public MiniCar(int num) {      super(5,10);      this.num = num;   } } -- SuperCar.java -- package vehicle; public class SuperCar extends Vehicle {   String color;   public SuperCar(String color) {      super(10, 20);      this.color = color;   } } -- Vehicle.java -- package vehicle; public class Vehicle {   private int wheel;   private int wheelDiameter;   public Vehicle(int wheel, int wheelDiameter) {      this.wheel = wheel;      this.wheelDiameter = wheelDiameter;   } }...

  • Lunux で Java をするには? Java

    CLASSPATH=.:/root/workspace/test:export CLASSPATH と環境設定し /root/workspace/test/test に Test0.java: package test; class SayHello { public void method() { System.out.println("Hello World!"); } } と SayHello.java: package test; public class Test0 { public static void main(String[] args) { SayHello sh=new SayHello(); sh.method(); } } を作り javac Test0.java SayHello.java をし(成功) java Test0 をしたのですが [root@Prime test]# java Test0 Exception in thread "main" java.lang.NoClassDefFoundError: loaded class Test0 was in fact named test.Test0 at java.lang.VMClassLoader.defineClass(libgcj.so.7) at java.lang.ClassLoader.defineClass(libgcj.so.7) at java.security.SecureClassLoader.defineClass(libgcj.so.7) at java.net.URLClassLoader.findClass(libgcj.so.7) at java.lang.ClassLoader.loadClass(libgcj.so.7) at java.lang.ClassLoader.loadClass(libgcj.so.7) at java.lang.Class.forName(libgcj.so.7) at gnu.java.lang.MainThread.run(libgcj.so.7) [root@Prime test]# となりうまくいかないのですが対策を教えてください。...

  • java作成時のエラー Java

    javaの勉強を始めたばかりの初心者です。 教えていただけると嬉しいです。 前回の質問の内容が説明不足でしたので出し直しました。 よろしくお願いします。 (1)class Test で問題なくコンパイル出来たのですが、 その後HTMLファイルを開いても、アプレットは表示されず真っ黒な画面が出るだけでした。 何が原因なのでしょうか。宜しくお願い致します。 ------------------ import java.awt.*; import java.awt.event.*; public class Test extends Frame { public Test() { super(); setTitle("Hello"); setSize(200,100); setLayout(null); Button mybutton = new Button("OK"); mybutton.setBounds(100,100,100,25); this.add(mybutton); mybutton.addActionListener(new ClickAction()); } public static void main (String args []) { new Test(); } } class ClickAction implements ActionListener { public void actionPerformed(ActionEvent ev){ System.exit(0); } } -------------- <HTML> <BODY> <APPLET WIDTH="500" HEIGHT="500" CODE="Test.class"> </APPLET> </BODY> </HTML> -------------- (2)IntegerTextField1のコンパイルは成功したのですが、その後Anwendung1のコンパイル時に、 下記エラーが出てしまいます。どちらも同じフォルダに入っています。 何が原因なのでしょうか。。どうぞ宜しくお願い致します。 C:\java\a>javac Anwendung1.java Anwendung1.java:32: cannot find symbol symbol : class IntegerTextField1 location: class Anwendung1 IntegerTextField1 tf1 = new IntegerTextField1 (); ^ Anwendung1.java:32: cannot find symbol symbol : class IntegerTextField1 location: class Anwendung1 IntegerTextField1 tf1 = new IntegerTextField1 (); ^ 2 errors --------------- import java.io.*; import java.awt.*; import java.awt.event.*; class IntegerTextField1 extends TextField implements Serializable { public IntegerTextField1 () {...

  • javaのクラスに関する初歩的な質問 Java

    今日は javaの初心者ですが、javaのプログラムのクラスについて、お教えください。 後記の、javaのクラスのコードについてお聞きします。 1)サブルーチンvoid aaa()は、問題なくコンパイルできまして、変数aにアクセスできます。 2)クラスpublic class xxx extends test{}の中で、変数aにアクセスできません。 Q1)項2に記しました、クラスpublic class xxx extends test{}の中で、変数a   にアクセスする方法はあります?。 Q2) クラスxxxxをnewで使用する方法はありますか?    注) this.xxxx=new xxx(); <---コンパイルエラーになる 初歩的な質問ですが、ご回答頂けますと大変たすかります。 //===================== package pkg; import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; public class test extends JFrame { private JPanel contentPane; public int a=9; //Launch the application. public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { test frame = new test(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } //Create the frame. public test() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 450, 300); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); aaa(); //this.xxxx=new xxx(); <---コンパイルエラーになる } public class xxx extends test{ //a=2; //コンパイルエラーになる。 } void aaa(){ System.out.println("a="+a); } }...

  • コンパイルできない Java

    こんにちは いつもお世話になっています。 %CATALINA_HOME%/webapps/test/WEB-INF/classesにある TestController.javaをコンパイルしたいのですが 以下のようなエラーメッセージが出ます。 TestController.java:1: パッケージ dbpackage は存在しません。 import dbpackage.dbmodel; ^ どうすればTestControllerファイルをコンパイルできるのでしょうか? 最近質問ばかりでごめんなさい。 ちょっと切羽詰っています。 ご回答よろしくお願いします。 ちなみに「%CATALINA_HOME%」とはTOMCATをインストールしたディレクトリ,「dbpackage」とは%CATALINA_HOME%/webapps/test\WEB-INF\classesに あるフォルダでその中にはdbmodel.classというファイルが保存されています。 ==============TestController.java=============================== import dbpackage.dbmodel; public class TestController { public void TestController() { } }...

ページ先頭へ