【问题标题】:Accessing another class访问另一个类
【发布时间】:2016-12-28 01:29:58
【问题描述】:

我刚刚开始学习 Java,这是我用它编写的第一件事。 但是我在进入类的概念时遇到了问题,因此我遇到了几个错误。

我有两个文件;第一个是 Book.java

如果我尝试编译代码,我会得到 15 个错误,其中一些是因为我无法返回 NULL。但我想先为其他错误寻找解决方案。他们都说“找不到符号”,因为它显然无法访问其他类。

这两个文件都在同一个目录中。 我读过我必须在 BookStore files 的 main 方法中创建一个 Book 类并使用它来访问它,但在这种情况下我不知道该怎么做。

希望你能帮我解决我的问题。

J.

【问题讨论】:

  • 开始将NULL 更改为null
  • 对于Book 类,将构造函数命名为Book,而不是makeBook。不过,一般来说,只需浏览每条错误消息,想想它在说什么,然后想办法解决它。这比要求我们重写您的代码以消除错误要好得多,因为这样您实际上会学到一些东西。
  • 编译器错误应该是您通过阅读消息找出的,参考语言源以查看您出错的地方,并修复直到您成功编译。 SO 不是询问编译器错误和缺乏语言知识的地方。
  • 谢谢,都改了。 :)

标签: java


【解决方案1】:

我可以立即在那里发现很多东西, 1.null而不是NULL 2. 你没有显式实现 Book 的构造函数。

当你创建一个 Book 实例时你需要使用

Book book = new Book();

请注意,构造函数必须与在本例中为“Book”的类同名 3.这只是一个注释,并没有什么问题,但是看一下HashMap数据结构。可能有很大帮助而不是循环。

【讨论】:

  • 谢谢,我已经将 NULL 更改为 null 并重命名了构造函数。但我仍然收到“找不到符号”错误。
  • 我要说的是现在和其他时候,你需要学习使用调试器。放置一个断点并一一遍历语句。你可以看到你的变量是如何变化的,从而找到错误的确切位置。最后,如果你找到了正确答案,请不要忘记设置为正确答案。
【解决方案2】:

Book 类不是最佳选择。试试这个:

public class Book {
    private final String name;
    private final String isbn;
    private final double price;

    public Book(String name, String isbn, double price) {
        this.name = name;
        this.isbn = isbn;
        this.price = price; 
    }

    public String toString() {
        return String.format("name: '%s' ISBN: %s price %10.2f", this.name, this.isbn, this.price);
    }
}

【讨论】:

    【解决方案3】:

    “main”方法的第 2 行应该创建一个“新”书店,就像上面的行一样。至于“main”的第一行;您正在创建一本新书,然后从未在任何地方使用它,因此可以将其删除。

    这应该会从您的错误列表中删除至少 1 个错误和 1 个警告。如果您列出编译器给出的所有错误,那将会很有帮助,所以我不是在猜测。

    【讨论】:

    • 嗯,我改变了 main 方法的前两行,但没有真正改变。
    猜你喜欢
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多