提问人:user9812664 提问时间:6/6/2023 最后编辑:Jim Garrisonuser9812664 更新时间:6/7/2023 访问量:539
为什么在从另一个类创建对象时,我在 java 中看到“找不到符号错误”?
Why am I seeing the "cannot find symbol error" in java when creating an object from another class?
问:
这是我名为 Revenue 的主要类,我正在尝试调用与此类相同的目录中的辅助类,并且也在同一包中
package Hotel;
//import java.util.*;
public class Revenue {
String Name;
Revenue()
{
Name="";
}
public void Guest()
{
System.out.println("Revenue Guest. ");
Persons x = new Persons(); //Here's where the error is actually occuring
System.out.println("Guest name:" + x.name() );
}
public static void main(String args[])
{
System.out.println("Revenue main.");
Revenue rev = new Revenue();
rev.Guest();
}
}
现在下一部分是二级类
package Hotel;
public class Persons {
String firstName[] = {"Adam","Alex", "Steve", "Sira"};
public Persons()
{
}
public String name() {
System.out.println("Persons name");
java.util.Random r = new java.util.Random();
String name = firstName[r.nextInt(firstName.length)];
return name;
}
public static void main(String[] args)
{
Persons n = new Persons();
System.out.println(n.name());
}
}//class
是的,它通过 vs code(Redhat java 之类的东西)在调试模式下工作正常。但是当我尝试在 cmd 中执行 javac Revenue.java 或 java Revenue.java 时,它显示这样的错误。
Revenue.java:18: error: cannot find symbol
Persons x = new Persons();
^
symbol: class Persons
location: class Revenue
Revenue.java:18: error: cannot find symbol
Persons x = new Persons();
^
symbol: class Persons
location: class Revenue
2 errors
error: compilation failed
已经整整 24 小时了,但我无法弄清楚这里有什么问题:(
我尝试创建一个名为 revenue 的程序,该程序将从另一个名为 person 的类中提取人名(只是为了将来扩展 person 类)。在 BlueJ 中,它似乎运行良好,没有任何错误,但最近我切换到 cmd 和 vs 代码,在这里我被困在这段代码中,它不会让我从另一个类调用方法。
评论
Hotel
javac Hotel/Revenue.java
java Hotel.Revenue
Persons
代表一个人(看起来),则应将其命名为Person
(单数)以避免混淆。