当前位置: 首页 > 知识库问答 >
问题:

我如何只实例化每个构造函数变量和多个构造函数?[重复]

裴英锐
2023-03-14

我需要避免重复的代码与这些构造函数,所以我想知道是否有一种方法来实例化这些变量只有一个?我看到了很多关于链接的帖子,但我还没有让它正常工作。

class Trainingsschema
{
    // create an arrayList for every oefening
    private String klant;
    private String trainer;
    private Integer nummer;
    private ArrayList<Oefening> alleOefeningen;

    // two different constructors to correctly initialise the class variables
    public Trainingsschema(String klant, String trainer)
    {
        this.klant = klant;
        this.trainer = trainer;
        this.nummer = this.volgendUniekNummer();
        this.alleOefeningen = this.initialiseerOefeningen();
    }

    public Trainingsschema(String klant)
    {
        this.klant = klant;
        this.trainer = null;
        this.nummer = this.volgendUniekNummer();
        this.alleOefeningen = this.initialiseerOefeningen();
    }

共有1个答案

沃侯林
2023-03-14

应该有一个构造函数来初始化所有变量。使用其他构造函数的默认值调用它,如下所示:

class Trainingsschema
{
    // create an arrayList for every oefening
    private String klant;
    private String trainer;
    private Integer nummer;
    private ArrayList<Oefening> alleOefeningen;

    // two different constructors to correctly initialise the class variables
    public Trainingsschema(String klant, String trainer)
    {
        this.klant = klant;
        this.trainer = trainer;
        this.nummer = this.volgendUniekNummer();
        this.alleOefeningen = this.initialiseerOefeningen();
    }

    public Trainingsschema(String klant)
    {
        this(klant, null);
    }
}
 类似资料:
  • 我的问题是关于OOP(C)中的构造函数。当我在一个类中将默认构造函数定义为private,并且在main中将该类的一个对象初始化为default时,就会出现默认构造函数不可访问的错误。这很好。但我也在Public部分中使用默认参数构造函数,当我再次在main中初始化对象时,就会出现对函数重载的不明确调用。所以我的问题是,如果不能从main访问私有构造函数,那么编译器应该调用公共部分中的构造函数,这

  • 真的不可能在 dart 中为一个类创建多个构造函数吗? 在我的播放器类中,如果我有这个构造函数 然后我尝试添加这个构造函数: 我得到以下错误: 默认构造函数已定义。 我不是通过创建一个带有一堆非必需参数的构造函数来寻找解决方法。 有没有好办法解决这个问题?

  • 问题内容: 这个问题已经在这里有了答案 : 如何根据参数类型重载__init__方法? (10个答案) 3年前关闭。 我有一个保存数据的容器类。创建容器时,有不同的方法来传递数据。 传递包含数据的文件 通过参数直接传递数据 不要传递数据;只是创建一个空容器 在Java中,我将创建三个构造函数。如果在Python中可行,则如下所示: 在Python中,我看到了三个明显的解决方案,但是没有一个是漂亮的

  • 问题内容: 我有两个班,第一个是我的主班,第二个是我的编辑框架班。 我的第二个类(UpdateGUI)在其构造函数中提供oldName,并对其进行编辑,当我单击时,它将newName发送给我的第一个类。 我的第二堂课: 我的问题是,为什么newName为null? 更新: UpdateGUIDialog类: 输出: 我需要打印而不是null。 问题答案: Java对象有点像真实对象。并顾名思义:它

  • 问题内容: 我是AP Java学生,正在为考试做练习。我遇到了这个问题,但我不明白答案: 考虑以下类别: 执行以下代码后输出是什么: 正确答案是B *。有人可以向我解释方法调用的顺序吗? 问题答案: B构造函数被调用。B构造函数的第一条隐式指令是(调用超类的默认构造函数)。因此,调用了A的构造函数。A的构造函数调用,它调用java.lang.Object构造函数,该构造函数不输出任何内容。然后被称

  • 我目前在我的大学学习初级java课程,仍然在学习编程的基础知识。这周我们一直在学习构造函数,我被困在本周任务的后半部分,所以任何帮助都将不胜感激。 实验室的第二部分(我一直坚持的部分)的说明如下: 为类Truck编写完整的代码,如下面的类图所示。一定不要在构造函数中使用重复的代码。例如,具有2个参数的构造函数应该调用具有1个参数的构造函数来设置柱体的值。 这些是它想让我做的构造函数。 任何关于如何