※ ChatGPTを利用し、要約された質問です(原文:パッケージ内でコンパイルできない)
パッケージ内でコンパイルできない
このQ&Aのポイント
パッケージ内でのコンパイルエラーの原因と解決方法について説明します。
パッケージ内でのコンパイルエラーの解決方法について説明します。
パッケージ内でのコンパイルエラーの原因と対処方法について解説します。
パッケージを作成して,以下のようなディレクトリ構成にしました.
.
├── 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;
}
}