首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常发生在银行=新银行(BankNaam);

异常发生在银行=新银行(BankNaam);
EN

Stack Overflow用户
提问于 2020-02-10 11:49:42
回答 3查看 76关注 0票数 1
代码语言:javascript
复制
import java.util.ArrayList;
import java.util.Random;

我正在尝试创建一个构造函数,该构造函数可以创建一个银行对象,但我一直在获取错误

”异常发生在银行=新银行(BankNaam);

代码语言:javascript
复制
public class Bank
{
    // ArrayList variable van de klaas BankRekening
    private ArrayList<BankRekening> rekLijst;
    // Bank naam
    private String bankNaam = "ING";
    // Random getal generator
    private Random randomGenerator;


    /**
     * Dit creeert een nieuwe object en initialiseert de variabelen.
     */
    public Bank(String bankNaam)
    {
        // initialise instance variable
        Bank bank1 = new Bank(bankNaam);
        //rekLijst = new ArrayList<>();

    }




}
EN

回答 3

Stack Overflow用户

发布于 2020-02-10 11:53:55

如果要赋值,可以这样做:

代码语言:javascript
复制
public Bank(String bankNaam){
  this.bankNaam = bankNaam;
}

如果您真的想要创建对象,那么在构造函数之外执行它。此外,您还可以创建一个Test.java文件来测试这一点。

代码语言:javascript
复制
public class Test{
   public static void main(string args[]){
      Bank bank1 = new Bank("ABC");
   }
}
票数 2
EN

Stack Overflow用户

发布于 2020-02-10 11:55:50

如果您从构造函数中调用构造函数,它将恢复到堆栈空间用完为止(因为每次对构造函数的调用都会再次调用构造函数)。您希望在使用var bank = new Bank(bankNaam);类的代码中,在构造函数之外使用

如果是用于赋值或类似的任务,则可能会将其放在main方法中:

代码语言:javascript
复制
public static void main(String[] args) {
    var bank = new Bank("ING");
    // ...
}

还有几个注意事项:

  • 您还想要完成构造函数的编写。请确保初始化所有实例变量。
  • 您可能不希望在其初始化器中将"ING"分配给bankNaam。相反,将其传递到constructor.
票数 2
EN

Stack Overflow用户

发布于 2020-02-10 11:56:24

这是一个构造函数,一个构造对象的方法:

代码语言:javascript
复制
public Bank(String bankNaam) {}

这是如何使用对角构造/初始化对象:

代码语言:javascript
复制
Bank bank1 = new Bank(bankNaam);

不能使用相同的构造器构造对象(但可以使用不同的构造器),因为它将导致无限递归。

只需在构造函数中初始化Bank对象字段:

代码语言:javascript
复制
public Bank(String bankNaam) {
    this.bankNaam =  bankNaam;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60149790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档