Java 使用对象调用方法很麻烦

Java 使用对象调用方法很麻烦,java,object,Java,Object,因此,我需要在我的部分家庭作业中这样做: 在Customer类中创建一个名为hasMoreMoneyThan(Customer c) 如果调用该方法的客户的钱比实际值多,则返回true 客户c,否则应返回false 我希望能为“调用方法的客户”这句话指明正确的方向 这让我很困惑,也没有任何意义,这是我的客户的一个类 以下是必要的代码: public class Customer { private String name; private int age; privat

因此,我需要在我的部分家庭作业中这样做:

在Customer类中创建一个名为
hasMoreMoneyThan(Customer c)
如果调用该方法的客户的钱比实际值多,则返回
true
客户
c
,否则应返回
false

我希望能为“调用方法的客户”这句话指明正确的方向

这让我很困惑,也没有任何意义,这是我的
客户
的一个类

以下是必要的代码:

public class Customer
{ 
    private String name;
    private int age;
    private float money;

    public String getName()
    {
        return name;
    }

    public int getAge()
    {
        return age;
    }


    public Customer(String n, int a, float m)
    {
        name = n;
        age = a;
        money = m;

   }
我开始写这个方法:

public boolean hasMoreMoneyThan(Customer c)
{

}
if (currentCustomer.isOlderThan(customerToCompareWith)) {
    // the current customer is older
} else {
    // the current customer is not older
}
但是我不知道如何用我的
客户
对象(我想问题是问这个)来调用它

其他相关代码:

public class StoreTestProgram {

    public static void main(String args[]) {
        Customer[]    result;
        Store         walmart;

        walmart = new Store("Walmart off Innes");
        walmart.addCustomer(new Customer("Amie", 14, 100));

    }
}

this
是从对象成员的方法引用对象的方式。
this.money>
this
是从对象成员的方法引用对象的方式。
this.money>对对象调用方法时,对象变量在当前范围内。在这种情况下,“客户调用”“调用方法”是调用方法的对象(对象是类的实例)

因此,如果对
客户a
调用
boolean hassmoremonethan(客户c)
,则应将其视为询问
客户a的钱比客户c的钱多?

您可以使用
this
关键字引用当前对象(帮助读者区分
客户c

因此,在您的
hasMoreMoneyThan
方法中,您可以将
this.money
c.money
进行比较

要调用此方法,您需要对当前客户和要比较的客户的引用。您可以执行以下操作:

Customer currentCustomer = new Customer(...
Customer customerToCompareWith = new Customer(...

if (currentCustomer.hasMoreMoneyThan(customerToCompareWith)) {
    // do something
}
编辑让我们尝试一个不同的示例。假设您想要一个方法来了解某个客户是否比另一个客户年长。该代码可能如下所示:

public boolean isOlderThan(Customer c) {
    return this.age > c.age;
}
并调用该方法:

public boolean hasMoreMoneyThan(Customer c)
{

}
if (currentCustomer.isOlderThan(customerToCompareWith)) {
    // the current customer is older
} else {
    // the current customer is not older
}

在对象上调用方法时,对象变量在当前范围内。在这种情况下,“调用方法的客户”是调用方法的对象(对象是类的实例)

因此,如果对
客户a
调用
boolean hassmoremonethan(客户c)
,则应将其视为询问
客户a的钱比客户c的钱多?

您可以使用
this
关键字引用当前对象(帮助读者区分
客户c

因此,在您的
hasMoreMoneyThan
方法中,您可以将
this.money
c.money
进行比较

要调用此方法,您需要对当前客户和要比较的客户的引用。您可以执行以下操作:

Customer currentCustomer = new Customer(...
Customer customerToCompareWith = new Customer(...

if (currentCustomer.hasMoreMoneyThan(customerToCompareWith)) {
    // do something
}
编辑让我们尝试一个不同的示例。假设您想要一个方法来了解某个客户是否比另一个客户年长。该代码可能如下所示:

public boolean isOlderThan(Customer c) {
    return this.age > c.age;
}
并调用该方法:

public boolean hasMoreMoneyThan(Customer c)
{

}
if (currentCustomer.isOlderThan(customerToCompareWith)) {
    // the current customer is older
} else {
    // the current customer is not older
}

“编辑让我更了解这一点,我现在明白了如何引用对象并调用方法,谢谢!”:“SpencerVreugdenhil Beauclerc,如果这个答案解决了你的问题,那么请考虑通过点击左边的绿色复选标记来接受它。我现在了解了如何引用对象和调用方法,谢谢!)@SpencerVreugdenhil Beauclerc,如果这个答案解决了你的问题,那么请考虑接受它,点击左边的绿色复选标记。我会说“客户调用方法”措辞不好。我并不奇怪这样说会引起混乱。运行时是唯一一个调用方法的运行时。应该是“调用该方法的客户”。我认为“调用该方法的客户”措词不当。我并不奇怪这样说会引起混乱。运行时是唯一一个调用方法的运行时。它应该是“调用方法的客户”。