标签:lan out 构造 sts main tst span string类 ack
一、String在内存中的结构
注意:String类声明的变量名放在栈中,New出来的对象放在堆中,String具体常量类容放在常量池
二、String是不可变对象
java.lang.String类使用了final修饰,不能被继承。String是常量,其对象一旦构造就不能再被改变
package com.yyx.pratice; public class TestString { public static void main(String[] args) { String str1 = "Hello World"; System.out.println(str1); String str2 = upcase(str1); System.out.println(str2); System.out.println(str1); } public static String upcase(String s) { return s.toUpperCase(); } }
三、创建对象个数
1.String a = new String("1"+"2")共建了几个对象?
创建了2个对象,由于编译器会把等号右边的进行合并,所以他在常量区会建立一个 "12’的字符串,然后,在堆上创建一个对象叫a
2.String str=new String("abc")共建了几个对象?
创建了2个对象
标签:lan out 构造 sts main tst span string类 ack
原文地址:https://www.cnblogs.com/xianya/p/9164838.html