使用布尔值为 class 创建实例的指南

Guidance on creating an instance for a class with boolean

我目前正在尝试从另一个文件创建一个实例,class 有一个布尔值。我试过用几种不同的方式称呼它,但我无法得到我想要的结果。下面是 class 的开始方式:

 public boolean buyFunction(int balance, double amountSpent)

这是我尝试创建的实例之一

boolean buyFunction buy = buyFunction();
        

我刚收到错误消息

error: ';' expected
        boolean buyFunction buy = buyFunction();

首先,buyFunction(int balance, double amountSpent)是一种方法,而不是class。其次:

boolean buyFunction buy = buyFunction();

看起来它有两个名字,一个变量不能有。另外,当你调用该方法时,你没有传入一个 int 和一个 double。此外,要在没有 class 实例的情况下调用该方法,您必须实例化该对象。

以下是可行的方法:

YourClassName y = new YourClassName();

boolean buy = y.buyFunction(500, 45.50);

现在如果你不想创建一个对象,而只是调用函数,你可以使用 static 关键字:

 public static boolean buyFunction(int balance, double amountSpent)

现在你可以这样称呼它了:

boolean buy = buyFunction(500, 45.50);

这会将 500 传递给 balance 参数,将 45.50 传递给 amountSpent 参数。

问题是您没有事先实例化 class。根据函数 buyFunction 所在的 class 的名称,您首先需要实例化 class,然后使用该实例获取布尔值。假设 class 名称是 Test(虽然这对你来说可能不同),你会这样做:

Temp val = new Temp();
boolean buy = val.buyFunction(int <theIntYouWant>, double <theDoubleYouWant);
boolean buyFunction buy = buyFunction();

这一行有几个语法问题。首先,要声明一个变量,您需要指定类型和名称:

boolean buy;

当你做 boolean buyFunction buy 时,它会混淆编译器,因为 buyFunction 看起来像一个变量名,而它后面的 buy 是意外的。这是错误的直接原因。

这里还要初始化变量buy的值。你可以这样做:

boolean buy = buyFunction();

现在的问题是 buyFunction() 需要两个参数:

public boolean buyFunction(int balance, double amountSpent)

第一个是代表余额的 int 类型,第二个是代表 amountSpentdouble 类型。如果您不知道 intdouble 是什么意思,我建议您阅读更多关于数据类型的 Java 教程。

例如,您可以这样做:

boolean buy = buyFunction(500, 2.50);

我不知道您为此处的参数传递的确切值是多少。它们可能来自您代码中的其他变量。你必须自己弄清楚这部分,因为你的问题没有足够的信息让我提出任何进一步的建议。