为什么Java不允许我间接初始化最终变量?我不明白为什么它不应该工作,我的意思是该方法将始终运行,所以如果直接初始化或通过方法初始化有什么区别?
此代码有效:
package com.company;
public class Person {
private final String name;
public Person() {
name = "bob";
}
}
这个没有。(即使我摆脱了 IO 代码并对分配给 name 的值进行了硬编码)
package com.company;
import java.util.Scanner;
public class Person {
private final String name;
public Person() {
askName();
}
public void askName() {
Scanner scanner = new Scanner(System.in);
name = scanner.nextLine();
}
}
呼如林
慕田峪9158850
相关分类