gpt4 book ai didi

java - java中的类初始化

转载 作者:行者123 更新时间:2023-12-01 06:27:26 24 4
gpt4 key购买 nike

为什么java允许这样做

public class A {

private int i;

public A(int i){

}

}

但不是这个

public class A {

private final int i;

public A(int i){ // compile - time error

}

}

当项目最终时,将其推送到堆栈有什么区别?为什么它不明白 A(i) 与 Final int i 不同?

最佳答案

构造函数中的变量与最终类成员无关,您收到的编译时错误是由于最终变量不仅仅被初始化。

试试这个,它会起作用

private final int i=0;  

class A {

private final int i;
public A(int i){
this.i = i;
}

}

class A {
private final int i;
public A(int i) {
}//constructor over
{//initilizer block
i = 10;
}
}

编译器在初始化对象时需要初始化最终成员。

关于java - java中的类初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com