您的位置:首页 > 编程语言 > Java开发

Java学习笔记(二十):关于String类为什么是final

2016-07-06 14:14 525 查看
将String类设计成final,这样String类就不能被继承了,同时String类里面的方法都隐式地变为final方法,网上有一句话是这样说的“final修饰string类,表示所有string类的方法就是final的,所以在调用string方法的时候就会被jvm优化为内联函数,可以提高效率。”其实在最新的java中,已经不需要这样来优化程序了

既然String是final,为什么还可以改变String的值呢?

那是因为String只是定义了一个引用,final修饰了String后,String的指向不能变,但是指向的内容是可以变的。如下:

String str = "123";
str = "234";//这样是可行的


但是如果是基本数据类型,那么定义为final,就不能改变其值了 ,如下所示:

final int a = 12;
a = 13;//会提示错误
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: