对于一个final变量阿狸说,不管是类变量 实例变量 局部变量,只要满足以下三个条件,那么这个final变量就不是一个变量了,而是一个直接量.
使用final变量修饰符修饰
在定义该final变量时指定了初始值
该初始值可以在编译时就被确定下来
public static void main(String[] args) {
String s1 = "HelloWorld";
String s2 = "Hello" + "World";
System.out.println(s1==s2);//输出true
String str = "Hello";
String str2 = "World";
// final String str = "Hello";
// final String str2 = "World";
String str3 = str + str2;
System.out.println(s1==str3 );//输出是false,如果注释不要那么就是true了,因为str+str2都是可以被执行的宏替换
}