Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用另一个构造函数的初始化来初始化构造函数中的属性_Java_Constructor - Fatal编程技术网

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

Java 使用另一个构造函数的初始化来初始化构造函数中的属性,java,constructor,Java,Constructor,前几天,我们的老师给我们做了一个练习,让我们做两个构造函数,一个是非参数化的,另一个是参数化的。然后,她要求使用非参数化构造函数中的初始化来初始化参数化构造函数中的属性,基本上是在每次创建新对象时使用相同的值来初始化它 我曾尝试在同一个类中使用非参数化构造函数创建一个新对象,然后从中获取初始化值,但我觉得这有点不必要 那么,有没有一种方法或什么东西更容易做到这一点 代码示例: 我想你的老师可能会这样说: Compte() { code_secret = 1111; } Compte(.

前几天,我们的老师给我们做了一个练习,让我们做两个构造函数,一个是非参数化的,另一个是参数化的。然后,她要求使用非参数化构造函数中的初始化来初始化参数化构造函数中的属性,基本上是在每次创建新对象时使用相同的值来初始化它

我曾尝试在同一个类中使用非参数化构造函数创建一个新对象,然后从中获取初始化值,但我觉得这有点不必要

那么,有没有一种方法或什么东西更容易做到这一点

代码示例:


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

Compte() {
    code_secret = 1111;
}

Compte(...) {
    this();
    //other initialization goes here
}
在上面的代码中,带参数的构造函数使用
this()

调用未参数化的构造函数 对于类的任何实例,属性
code\u secret
设置为
1111

=======================================

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

private final int code_secret = 1111;
但为了进行老师提出的练习,第一种解决方案适用


请以文本形式插入代码,请参阅