【发布时间】:2017-01-18 22:38:23
【问题描述】:
我只是在玩 final 关键字并观察到以下行为,这里我使用一个方法分配一个最终变量,并且该方法在构造函数之前被调用
public class Test {
final int i=init(1);
Test(){
System.out.println("Inside Constructor");
}
public int init(int i){
System.out.println("Inside Method");
return i;
}
public static void main(String [] args){
Test i=new Test();
System.out.println(i.i);
}
以下代码的输出如下
Inside Method
Inside Constructor
1
我知道在构造函数完成之前需要分配最终变量,这就是这里发生的事情
我找不到的是如何在构造函数之前调用方法,我非常感谢对此的任何解释
【问题讨论】:
-
在构造过程中初始化实例成员时,可能是 Can I call methods in constructor in Java? 的重复。调用构造函数只是构造的一部分。