java—使用另一个构造函数的初始化来初始化构造函数中的属性

qgelzfjb  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(402)

前几天老师给我们做了一个练习,让我们做两个构造函数,一个是非参数化的,另一个是参数化的。然后,她要求使用非参数化构造函数的初始化来初始化参数化构造函数中的属性,基本上每次创建新对象时都用相同的值初始化它。
我尝试过在同一个类中使用非参数化构造函数创建一个新对象,然后从中获取初始化值,但我觉得这是不必要的。
那么,有没有一种方法或东西更容易做到这一点呢?
代码示例:

ukxgm1gy

ukxgm1gy1#

我想你的老师可能会这样说:

Compte() {
    code_secret = 1111;
}

Compte(...) {
    this();
    //other initialization goes here
}

在上面的代码中,带有参数的构造函数使用 this() .
财产 code_secret 设置为 1111 对于类的任何示例。

通常,当涉及常量赋值时-不需要其他初始化代码-将属性声明为 final 在构造函数外部初始化:即构造函数不负责确定值:

private final int code_secret = 1111;

但为了练习老师提出的,第一种解决方法适用。
有关final关键字的详细信息

相关问题