首先说一下final的特点:
1.可以修饰类、变量、函数
2.被final修饰的类不能被继承,为了避免被继承,被子类复写
例如:final class Demo{}
3.被final修饰的方法不可以被复写。例如 final void show(){}
4.被final修饰的变量为常量只能赋值一次,既可以修饰成员变量,也可以修饰局部变量,常量所有字母都大写,多个单词间通过_连接。全局常量 public static final double PI=3.14
5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量
楼主你比较的是str3==str4,没有比较str1==str2;因为被final修饰的变量其实是常量而且只能赋值一次,所以str1和str2的值在赋值后就不能改变了,如果比较str1==str2的话,结果就为fasle,而str3和str4都是str1和str2相连接而成的,所以str3="黑马程序员",str4="黑马程序员",所以str3==str4为true,str5==str6我就不说了,相信楼主你明白的,此外提醒楼主因为被final修饰的变量其实是常量,常量所有字母都是要大写的。 |