下面的代码正确
下面的代码错误(由于是静态的,又是final的,所以要求你在最先声明的那句话就要给它赋值,不允许你在构造函数中赋值)
下面的代码错误(这个就是最基本的final含义,你赋值过了,后面就不允许你赋其它值了)
下面的代码错误(final变量,你要么在声明的时候初始化,要么就在构造函数中初始化,出了这两个地方,再去赋值也要报错。)(从这点你也可以知道,如果是static final连用,那么就只有一个地方初始化了,只有声明的地方了,连构造函数中初始化的机会也没有了。)
public class Test {
public final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
}
}
下面的代码错误(由于是静态的,又是final的,所以要求你在最先声明的那句话就要给它赋值,不允许你在构造函数中赋值)
public class Test {
public static final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
}
}
下面的代码错误(这个就是最基本的final含义,你赋值过了,后面就不允许你赋其它值了)
public class Test {
public final String a;
public Test(){
a = "xxx";
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.a);
t.a = "sxx"
}
}
下面的代码错误(final变量,你要么在声明的时候初始化,要么就在构造函数中初始化,出了这两个地方,再去赋值也要报错。)(从这点你也可以知道,如果是static final连用,那么就只有一个地方初始化了,只有声明的地方了,连构造函数中初始化的机会也没有了。)
public class Test {
public final String a;
public Test(){
}
public static void main(String[] args) {
Test t = new Test();
t.a = "xxx";
System.out.println(t.a);
}
}
本文详细解析了Java中final关键字的使用规则,包括final变量的初始化时机、final与static结合的注意事项,以及final变量不可变性的特点。通过具体示例说明了在不同情况下final变量的正确与错误使用方式。
330

被折叠的 条评论
为什么被折叠?



