作业帮 > 综合 > 作业

java空白final的问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 05:51:45
java空白final的问题
class Final{
Final(){
System.out.println("Final constructor");
}
}
public class FinalTest{
private final int a;
private final Final f;
public FinalTest(int i){
a=i;
System.out.println(a);
}
public FinalTest(Final f){
this.f=f;
}
public static void main(String[] args){
FinalTest x=new FinalTest(2);
FinalTest p=new FinalTest(new Final());
}
}
不知道这里哪里错了
编译器说a和f未初始化
但是我不是在构造器里初始化了嘛
空白final可以不用定义时赋值,楼主类中定义的变量a与f都没有问题.
问题在于构造函数,两个构造函数中,实例化时只会有一个被调用,导致会有一个变量未初始化.
比如,FinalTest x=new FinalTest(2);时,这时候a有值了,可是f是没有初始化的.