string

 一.string类能被继承吗?
不可以,因为string类有final修饰,而final修饰的类是不能被继承的,实现细节不允许改变,平常我们定义的string str=“abc”
(直接赋一个字面量);其实和string str=new string(“abc”){通过构造器构造}还是有差异的。
二.string str=“abc"和string str=new String("abc");产生几个对象?
1.前者1或者0,后者2或者1,先看字符串常量池,如果字符串常量池中没有,就在常量池中创建一个,如果有,前者直接引用,后者在堆内存
中还需要创建一个”abc"实例对象
2.对于基础类型的变量和常量,变量和引用存储在栈中,常量存储在常量池中。
3.为了提升jvm(java虚拟机)性能和减少内存开销,避免字符的重复创建,项目中还是不要使用new string 去创建字符串,最好使用string直接
赋值
posted @ 2020-08-19 09:24  a走路带风  阅读(105)  评论(0编辑  收藏  举报