出现final 主要是为了不想改变,不想改变出于两点考虑
1、安全
2、效率
对于安全:
(1)保证引用后仍为String 保证子类不被修改
(2)创建后不能修改
对于效率:
(1)设计成final Jvm运行时不用对相关方法在函数表中查询,而是直接找String的方 法即可,提高效率。
(2)共享效率更高。
总而言之,就是要保证 java.lang.String 引用的对象一定是 java.lang.String的对象,而不是引用它的子孙类,这样才能保证它的效率和安全。
出现final 主要是为了不想改变,不想改变出于两点考虑
1、安全
2、效率
对于安全:
(1)保证引用后仍为String 保证子类不被修改
(2)创建后不能修改
对于效率:
(1)设计成final Jvm运行时不用对相关方法在函数表中查询,而是直接找String的方 法即可,提高效率。
(2)共享效率更高。
总而言之,就是要保证 java.lang.String 引用的对象一定是 java.lang.String的对象,而不是引用它的子孙类,这样才能保证它的效率和安全。