我正在尝试用一个方法来设置数组中对象的特定值。
public class BankAccount
{
private String name;
//constructor
public BankAccount(String firstName, String LastName)
{
name = firstName + " " + lastName;
}
public String getName()
{
return name;
}上面是我的BankAccount类,还有一个名为BankAccountList的类
public class BankAccountList {
public static void main(String args[]){
BankAccount bankAccount[] = new BankAccount[2];
bankAccount[1] = giveName("MR", "Travis");
}
public static void giveName (String firstName, lastName){
}
}如何使用以下giveName()方法将BankAccount[1]中的对象名称设置为"Mr Travis“?我不知道用给定的参数在giveName中放什么。任何建议都将不胜感激。
发布于 2018-10-19 22:52:50
这里有几件事值得一提。
首先,你似乎没有完全理解静态和动态之间的区别。这是可以理解的,因为即使我现在也很难解释它,即使我知道它是如何工作的。您的BankAccountList类有一个main方法,它从一个静态的标准main方法开始。您的bankAccount数组是在这个main方法中定义的,这意味着它不存在于整个类中,只存在于正在运行的main方法中。
然后,您需要在列表中指定一个银行帐户的名称。在这里,您创建了另一个静态方法,它对main方法中的内容一无所知,并且它不包含可以将参数提供给的任何对象。换句话说,您现在拥有的empty函数不能为银行帐户设置任何参数,因为该方法中不存在任何银行帐户。
我建议将静态方法设置为动态的(这意味着只需删除giveName关键字),并将该方法移动到BankAccount类。然后,您将有效地拥有name的get和set方法,这些方法是动态的,这意味着它对于类的每个对象实例都是有效的。在此之后,可以首先引用数组中的对象,然后直接对该特定对象调用giveName()方法,该方法将设置名称:
public class BankAccount
{
private String name;
//constructor
public BankAccount(String firstName, String LastName)
{
name = firstName + " " + lastName;
}
public String getName()
{
return name;
}
public void giveName (String firstName, String lastName){
name = firstName + " " + lastName;
}和:
public class BankAccountList {
public static void main(String args[]){
BankAccount bankAccount[] = new BankAccount[2];
bankAccount[1].giveName("MR", "Travis");
}
}更新:
现在我注意到了另一件事。创建数组的行: BankAccount bankAccount[] = new BankAccount2;
这不会创建填充的数组,它会创建一个空数组。换句话说,您并没有创建一个包含银行帐户的列表,而是创建了一个可以持有银行帐户的列表。您必须先创建一个银行帐户,然后才能为其命名。
BankAccount bankAccount[] = new BankAccount[2];
bankAccount[1] = new BankAccount("MR", "Travis");现在,您的构造函数已经有了参数,用于在创建帐户时为其命名。因此,现在您并不真正需要giveName方法。除非您想在以后更改它:
bankAccount[1].giveName("MRS", "Davis");https://stackoverflow.com/questions/52894500
复制相似问题