gpt4 book ai didi

java - 关于带有数组对象的构造函数的非常简单的问题

转载 作者:行者123 更新时间:2023-12-02 05:28:52 25 4
gpt4 key购买 nike

我编写了一个名为 MenuItem 的类,其中包括:

private String name;
private String description;
private double price;

public MenuItem(String name, String description, double price)
{
this.name = name;
this.description = description;
this.price = price;
}

以及所有变量的访问器和修改器方法,以及另一个名为 Menu 的类,其中包含构造函数:

public Menu()
{
menu = new MenuItem[50];
}

在我的主要方法中,我写道:

Menu menu = new Menu();

尝试创建一个名为 menu 的 Menu 数组,其中包含 50 个 MenuItem 对象。但是我知道我做错了,因为当我尝试引用数组中的对象之一时,即

System.out.print("The name of this item is " + menu[1].getName());

我收到一个编译错误,指向菜单[1],并显示需要数组,但找到了菜单。

如何解决这个问题?

最佳答案

您感到困惑的部分原因是您的程序中现在有 3 个不同的“菜单”。您有 Menu 类。您有 menu 数组,它位于 Menu 类的任何实例内。最后,您有在 main 方法中创建的对象的菜单

在你的主方法中,当你执行menu[1]时,你告诉Java“获取menu对象,并尝试获取第一个索引它”。然而,由于 main 中的 menu 不是一个数组,Java 将不知道该做什么并且将拒绝编译。

相反,您想要在对象menu内部找到menu(数组),并获取其索引:

 System.out.print("The name is: " + menu.menu[1].getName());

总而言之,您有一个名为 menuMenu 类实例,其中包含一个名为 menu 的数组!

我认为这里的主要要点是始终确保使用清晰且明确的变量名称以避免混淆:)

关于java - 关于带有数组对象的构造函数的非常简单的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25738909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com