所以,我需要做一部分家庭作业:
在Customer类中创建一个名为hasMoreMoneyThan(Customer c)
的方法
如果调用该方法的客户的钱比购买该方法的客户多,则返回true
客户c
,否则它将返回false
。
我希望指出“客户在调用方法”这一行的正确方向
这对我来说很混乱,没有意义,因为我的Customer
是一门课。
这是必需的代码:
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)
{
}
但是我不确定如何使用我的Customer
对象(我认为问题是这样)来调用它。
其他相关代码:
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));
}
}
答案 0 :(得分:2)
在对象上调用方法时,对象变量在当前作用域内。在这种情况下,“调用方法的客户”是调用该方法的对象(该对象是类的实例)。
因此,如果正在var mongoose = require('mongoose');
require('mongoose-double')(mongoose);
var Schema = mongoose.Schema;
var SchemaTypes = mongoose.Schema.Types;
console.log("coucou");
var PokemonSchema = new Schema({
nom: String,
surnom: String,
niveau: Number,
genre: String,
capture: Boolean,
identifie: Boolean,
prix: SchemaTypes.Double
});
上调用boolean hasMoreMoneyThan(Customer c)
,那么您应该认为它是在问Customer a
。
您可以使用Customer a has more money than Customer c?
关键字引用当前对象(以帮助读者区别于this
)。
因此,在您的Customer 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;
}
答案 1 :(得分:1)
this
是如何从属于对象成员的方法中引用对象的方法。 this.money ><=? c.money
如果在构造函数中使用public Customer(String name, int age, float money)
,则应使用this.name= name
而不是name= n
来消除歧义。