找不到解决这个问题的办法。
Guitar2.java:
public class Guitar2
{
private String serialNumber;
public Guitar2(String serialNumber)
{
this.serialNumber = serialNumber;
}
public String getSerialNumber()
{
return serialNumber;
}
}:
import java.util.List;
import java.util.LinkedList;
public class Inv2
{
private List guitars;
public Inv2()
{
guitars = new LinkedList();
}
public void addGuitar(String serialNumber)
{
Guitar2 guitar = new Guitar2(serialNumber);
guitars.add(guitar);
}
}两个文件都位于同一个目录中,都是755文件,并且目录位于类路径中。我得到了错误消息:
[machine]me @ directory $ javac Inventory.java
Inventory.java:18: cannot find symbol
symbol : class Guitar
location: class Inventory
Guitar guitar = new Guitar();
^
Inventory.java:18: cannot find symbol
symbol : class Guitar
location: class Inventory
Guitar guitar = new Guitar();
^
2 errors我读到,如果一个文件位于同一个目录中,那么可以在同一目录中的其他文件中使用来自它的类,而不需要任何导入语句。这里有什么问题?
使用上述代码时,发布编辑输出:
[me]machine @ ricks $ javac Inv2.java
Note: Inv2.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.我得到两个.class文件的.java文件。
发布于 2014-05-31 00:02:41
运行javac Guitar.java,然后(在编译并创建Guitar.class之后)运行javac Inventory.java
发布于 2014-05-31 00:03:24
试着先编译Guitar.java。那就运行你的cmd。或者试试这个:javac *.java
发布于 2014-05-31 00:20:46
确保两个类都有相同的包。即使它们位于同一个目录中,不同的包也可能导致此问题。键入相同的包或使用导入,然后尝试使用javac *.java进行编译
https://stackoverflow.com/questions/23965023
复制相似问题