4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?作者: 陈伟彬 时间: 2019-3-8 19:52 本帖最后由 陈伟彬 于 2019-3-8 21:25 编辑
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:
引用数据类型;
原因:字符串底层是char数组,而数组在创建之初长度就是固定的,因此字符串的长度是不可变;
2.什么情况下会用到Static关键字?
答
当某一类下的每个对象都有一个相同变量时,则可以使用Static将其从属于对象变成属于类使其成为同一类下所有对象的共享;
3.静态代码块会在什么时候执行?
答:
在首次使用含代码块的类时,代码块会执行唯一一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
如果两个不是在同一个类中:
String s = new String("abc"):创建两个对象;
“abc”放在方法区常量池中;new String 放在堆中;
String s = "abc":创建一个对象;
"abc"放在方法区常量池中;
如果两个在同一个类中:
String s = new String("abc") 先写的话:
String s = new String("abc"):创建两个对象;
String s = "abc":没有创建对象;
String s = "abc" 先写的话:
String s = new String("abc"):创建一个对象;
String s = "abc":创建一个对象;
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在pool 中,一个在堆中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在pool 中,一个在堆中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了3个对象,在栈内存中建立了一个String s,在堆内存中新建了一个new String,在堆内存的常量池生成一个abc;
String s = "abc";创建了2个对象,在栈内存中建立了一个String s,在堆内存的常量池生成一个abc。作者: 龚荣章 时间: 2019-3-8 21:09 1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型;对一个String变量重新赋值或者添加字符,相当于生成了一个新的字符串,原本的字符串还在常量池,不会发生变化(此时这个字符串是一个常量),因此字符串的长度是不变的。 2.什么情况下会用到Static关键字?
当一个类的对象存在同一种变量时,就可以用static关键字去修饰,当这个类一运行就会生成这个变量,应用于所有对象。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了3个对象,在栈内存中建立了一个String s,在堆内存中新建了一个new String,在堆内存的常量池生成一个abc;
String s = "abc";这句代码创建了2个对象,在栈内存中建立了一个String s,在堆内存的常量池生成一个abc。作者: 陈志铖 时间: 2019-3-8 21:12
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型
字符串是常量,运行期间不会改变
2.什么情况下会用到Static关键字?
当某一类下的每个对象都有一个相同变量时,则可以使用Static将其从属于对象变成属于类使其成为同一类下所有对象的共享;
3.静态代码块会在什么时候执行?
当某一类下的每个对象都有一个相同变量时,则可以使用Static将其从属于对象变成属于类使其成为同一类下所有对象的共享;
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了3个对象,在栈内存中建立了一个String s,在堆内存中新建了一个new String(),在堆内存的常量池生成一个abc;
String s = "abc"创建了两个,在栈内存中建立了一个String s,在堆内存的常量池生成一个abc;作者: 李伟艺 时间: 2019-3-8 21:13
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用类型。
因为String类的底层是一个char类型数组,数组在创建后,长度不可变
2.什么情况下会用到Static关键字?
创建静态变量和静态方法的时候
3.静态代码块会在什么时候执行?
会再第一次使用类的时候,并且只会执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
.String s = new String("abc");创建的两个对象再一个在堆中,一个在字符串常量池中
String s = "abc";创建了一个对象,实在字符串常量区中。作者: 叶彬彬 时间: 2019-3-8 21:16
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型;因为字符串是常量,常量在程序运行期间不可改变
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,
所以创建了两个String对象,一个在pool 中,一个在堆中。
String s = "abc"
会保存在方法区的字符串常量池中,首先检查字符串常量池中是否存在"abc"对象,
如果存在,直接返回指向"abc"对象的指针,不存在就会在字符串常量池中创建一个"abc",然后返回指针。作者: LPY 时间: 2019-3-8 21:28
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc"):
创建2个对象;
在栈中创建了一个变量名为s的字符串对象;
在堆里创建了内容为“abc”的对象,不在常量池中
String s = "abc":
创建2个对象;
在栈中创建了一个变量名为s的字符串对象;
在堆中的字符串常量池里创建一个字符串对象内容为“abc”作者: 廖艺铭 时间: 2019-3-8 21:29
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型;
因为字符串的值在创建后不能被更改
2.什么情况下会用到Static关键字?
static可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的;
当该类的每个对象需要共享同一个成员属性的值时,可以用static修饰
3.静态代码块会在什么时候执行?
在该类及其子类第一次加载时执行且执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建一个对象
栈中为s开辟空间,大小为一个句柄大小或者说地址大小,指向堆中对象
堆中而不在常量池中,开一个句柄大小的空间,指向堆中一个字节数组
堆中开辟一个字节数组空间
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
(1) String s = new String("abc");创建了两个对象,一个是对象时s,存在于堆内存中;还有一个对象是“abc”存在于方法区中的字符串常量池中。
(2) String s = "abc";只创建了一个对象,存在于字符串常量池中
作者: 余建强 时间: 2019-3-8 21:41
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型,因为字符串是一个常量,所以字符串的长度不可改变
2.什么情况下会用到Static关键字?
需要共享方法共享变量,代码块只需要创建一次的时候
3.静态代码块会在什么时候执行?
类被调用的时候
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两次,堆内存和方法区域,
String s = "abc";创建了一次,在栈内存创建作者: 李煜霖 时间: 2019-3-8 21:41
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:
引用数据类型;
原因:字符串底层是char数组,而数组在创建之初长度就是固定的,因此字符串的长度是不可变;
2.什么情况下会用到Static关键字?
答
当某一类下的每个对象都有一个相同变量时,则可以使用Static将其从属于对象变成属于类使其成为同一类下所有对象的共享;
3.静态代码块会在什么时候执行?
答:
在首次使用含代码块的类时,代码块会执行唯一一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
如果两个不是在同一个类中:
String s = new String("abc"):创建两个对象;
“abc”放在方法区常量池中;new String 放在堆中;
String s = "abc":创建一个对象;
"abc"放在方法区常量池中;
如果两个在同一个类中:
String s = new String("abc") 先写的话:
String s = new String("abc"):创建两个对象;
String s = "abc":没有创建对象;
String s = "abc" 先写的话:
String s = new String("abc"):创建一个对象;
String s = "abc":创建一个对象; 作者: java基础6期刘伟 时间: 2019-3-8 21:42
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型,字符串是一个常量,字符串底层是char数组,而数组在创建之初长度就是固定的,因此字符串的长度是不可变;
2.什么情况下会用到Static关键字?
当 static 修饰成员变量时,该变量称为类变量。该类的每个对象都共享同一个类变量的值。任何对象都可以更改 该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作。
3.静态代码块会在什么时候执行?
在第一次使用到本类时,会执行一次,而且只执行一次,执行优先度比其他的构造方法高
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建的两个对象一个在堆中,一个在字符串常量池中
String s = "abc";创建了一个对象,在字符串常量区中。作者: 开心的小孩 时间: 2019-3-8 21:46
陈鹏涛
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,字符串是常量
2.什么情况下会用到Static关键字?
修饰成员变量的情况
修饰成员方法的情况
3.静态代码块会在什么时候执行?
定义在成员位置,使用static修饰的代码块{ }。
位置:类中方法外。 执行:随着类的加载而执行且执行一次,
优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建两个对象;
String s = new String("abc")放在栈中;
new String("abc")放在堆中;
String s = "abc":
一个对象;
放在栈中;作者: 陈前凌 时间: 2019-3-8 21:48
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型
因为字符串的底层构造是byte[]数组,不能改变长度
2.什么情况下会用到Static关键字?
当信息不是某个对象特有的,而是属于类的,用Static
3.静态代码块会在什么时候执行?
当第一次用到代码块中的类的时候,代码块执行唯一的一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1.创建了两个对象,分别在堆中的字符串常量池和堆中创建对象
2.一个对象,在字符串常量池中创建。作者: 陈驰煜 时间: 2019-3-8 21:48
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型, 因为字符串底层是一个char数组, 数组长度不可变
2.什么情况下会用到Static关键字?
当需要一个可以共享与所有对象的变量或方法时
3.静态代码块会在什么时候执行?
在使用类时, 在构造方法执行之前
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
a.创建了2个对象, 分别在方法区和堆内存中创建,
b.创建了1个对象,在方法区中创建作者: 卢勇炜 时间: 2019-3-8 21:49
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型,字符串是一个常量,字符串底层是char数组,而数组在创建之初长度就是固定的,因此字符串的长度是不可变
2.什么情况下会用到Static关键字?
答:当一个属性属于类而不属于对象时,就可以用到Static关键字。例如一个学生类中的班级属性,它应该是属于类的,而不属于对象。这样班级的属性就可以用Static关键字修饰。
3.静态代码块会在什么时候执行?
答:当第一次用到本类时,静态代码块执行唯一的一次。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc");这句代码创建了3个对象,在栈内存中建立了一个String s,然后在堆内存中新建了一个new String,以及在堆内存的常量池生成一个abc;
String s = "abc";这句代码创建了2个对象,第一是在栈内存中建立了一个String s,第二个对象是在堆内存的常量池生成一个abc。作者: 曾伟清 时间: 2019-3-8 21:49
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型。字符串最底层是byte数组,而数组在创建的时候长度就是固定的,因此字符串的长度不可变;
2.什么情况下会用到Static关键字?
答:static 关键字,可以修饰变量、方法和代码块。当每个对象都共享同一个变量的值,就可以修饰变量;当想让代码块优先于main方法和构造方法的执行,也可以用static修饰;在使用的过程中,其主要目的还是想在不创建对象的情况
下,去调用方法;
3.静态代码块会在什么时候执行?
答:静态代码块随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc"):创建了两个;new String("abc")创建在堆中,"abc"创建在堆中的常量池。
String s = "abc";创建了一个:在堆中的常量池。作者: 刘曾铭 时间: 2019-3-8 21:50
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
(1)String类是引用数据类型。
(2)因为字符串是一个常量,一旦创建完成,常量是不可改变的,所以字符串的长度不可变。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)创建了两个个对象,分别存在于:,new String在堆内存中被创建,
堆中的字符串常量池中创建了"abc"
(2)创建了两个对象,String s 在栈内存中创建,堆中的字符串常量池中创建了"abc" 作者: 林艺彬 时间: 2019-3-8 21:53
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型。因为对一个String变量重新赋值或者添加字符,相当于生成了一个新的字符串,原本的字符串还在常量池,不会发生变化。
2.什么情况下会用到Static关键字?
当某一类下的每个对象都有一个相同变量时,则可以使用Static将其从属于对象变成属于类使其成为同一类下所有对象的共享;
3.静态代码块会在什么时候执行?
当第一次用到本类时,静态代码块执行唯一的一次。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc"):创建2个对象;在栈中创建了一个变量名为s的字符串对象;在堆里创建了内容为“abc”的对象,不在常量池中,
String s = "abc":创建2个对象;在栈中创建了一个变量名为s的字符串对象;在堆中的字符串常量池里创建一个字符串对象内容为“abc”。 作者: 陈弘帅 时间: 2019-3-8 21:53
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型;
因为字符串的值在创建后不能被更改
2.什么情况下会用到Static关键字?
static可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的;
当该类的每个对象需要共享同一个成员属性的值时,可以用static修饰
3.静态代码块会在什么时候执行?
在该类及其子类第一次加载时执行且执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建一个对象
栈中为s开辟空间,大小为一个句柄大小或者说地址大小,指向堆中对象
堆中而不在常量池中,开一个句柄大小的空间,指向堆中一个字节数组
堆中开辟一个字节数组空间
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)String s = new String("abc");这句代码创建了2个对象,一个对象String s存在栈内存中,
一个字符常量"abc"存在字符串常量方法中在堆中。
(2) String s = "abc";创建了1个对象,存在堆内存中的字符串常量方法中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了1个对象,String s 在栈内创建,new String("abc")在堆内存中创建;
String s = "abc";创建了1个对象,String s 在栈内创建,"abc"在堆中字符串常量池中创建作者: JavaEE06蒋才东 时间: 2019-3-8 22:02
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型
字符串本身是一个常量,常量在程序运行期间不能发生改变,因此字符串的长度不可发生改变
2.什么情况下会用到Static关键字?
a.类变量:使用static关键字修饰成员变量
b.类方法:使用static关键字修饰成员方法
c.静态代码块:使用static修饰代码块
3.静态代码块会在什么时候执行?
静态代码块会随着类的加载而执行,优先于main方法和构造方法的执行
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了3个对象,在栈内存中建立了一个String s,在堆内存中新建了一个new String,在堆内存的常量池生成一个abc;
String s = "abc";这句代码创建了2个对象,在栈内存中建立了一个String s,在堆内存的常量池生成一个abc。作者: 叶振鹏 时间: 2019-3-8 23:16
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型
字符串相当于是一个一个单独的字符拼接起来,其显示效果相当于是char[]字符数组,字符串的底层是用byte[]字节数组来储存而数组最主要的特性就是其在程序运行期间长度是不可以改变的,
2.什么情况下会用到Static关键字?
(1)用来修饰成员变量:使所有本类的对象都共享同一份静态变量的数据。
(2)用来修饰成员方法:使方法可以通过类名直接调用而不需要创建对象。
(3)静态代码块:当需要初始化某个类,给静态变量赋值的时候。
3.静态代码块会在什么时候执行?
在首次使用含代码块的类时,代码块会执行唯一一次
后面不管使用到这个含有代码块的类都不会在执行
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个对象,new String在堆内存中,“abc”在堆内存中的字符串常量池中
String s = "abc"要考虑两种情况1是与String s = new String("abc");在同一个类中,那么String s = "abc"就没有创造对象而是与String s = new String("abc")共用同一个字符串“abc”,
2是不在一个类中那么它创建了一个对象“abc”存放在堆内存中的字符串常量池中作者: 徐代成 时间: 2019-3-9 09:06
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
(1)String类是引用数据类型。
(2)因为String类的对象是字符串常量,常量一旦被创建,其内容在程序运行期间就永不可变。
2.什么情况下会用到Static关键字?
(1)用来修饰成员变量:使所有本类的对象都共享同一份静态变量的数据。
(2)用来修饰成员方法:使方法可以通过类名直接调用而不需要创建对象。
(3)静态代码块:当需要初始化某个类,给静态变量赋值的时候。
3.静态代码块会在什么时候执行?
当第一次用到本类时,静态代码块会执行唯一的一次。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
(1)String s = new String("abc");这句代码创建了3个对象,String s在栈内存中被创建,在堆内存中创建了new String对象,在堆中的字符串常量池中创建了“abc”。
(2)String s = "abc";这句代码创建了2个对象,String s在栈内存中被创建,在堆中的字符串常量池中创建了“abc”。 作者: 唐彬桂 时间: 2019-3-9 09:20
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用类型。
因为String类的对象是字符串常量,常量一旦被创建,其内容在程序运行期间就永不可变
2.什么情况下会用到Static关键字?
用来修饰成员变量:使所有本类的对象都共享同一份静态变量的数据。
用来修饰成员方法:使方法可以通过类名直接调用而不需要创建对象。
静态代码块:当需要初始化某个类,给静态变量赋值的时候。
3.静态代码块会在什么时候执行?
随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了三个对象,分别存在于:String s 在栈内存中创建,new String在堆内存中被创建,
堆中的字符串常量池中创建了"abc"
创建了两个对象,String s 在栈内存中创建,堆中的字符串常量池中创建了"abc"作者: omasoo 时间: 2019-3-9 11:42
李伟斌
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String是引用数据类型,因为字符串的值在创建后不可变,所以长度也不可变.
2.什么情况下会用到Static关键字?
答:要访问静态使用静态方法或静态成员的时候.
3.静态代码块会在什么时候执行?
答:静态代码块内的成员被实现或调用.
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:a.创建了一个对象,存在堆中.
b.创建了一个对象,存在常量池中.作者: 吴越 时间: 2019-3-9 19:36
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型,因为String对象是一个字符串常量,创建之后常量的长度用不可变。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc")这句代码创建了两个对象,一个是堆内存中的new String对象,一个是堆内存中字符串常量池里的“abc”字符串对象。
String s = "abc"创建了一个对象,在堆内存中字符串常量池里创建了的“abc”字符串对象。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在pool 中,一个在堆中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在pool 中,一个在堆中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");
在运行 new String()时,把文字池即pool中的字符串"abc"复制到堆中,并把这个对象的应用交给s,所以创建了两个String对象,一个在pool 中,一个在堆中。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");这句代码创建了3个对象,在栈内存中建立了一个String s,在堆内存中新建了一个new String,在堆内存的常量池生成一个abc;
String s = "abc";这句代码创建了2个对象,在栈内存中建立了一个String s,在堆内存的常量池生成一个abc。作者: 林奕全 时间: 2019-3-10 21:46
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1.String s = new String("abc")创建了2个对象;String s在栈当中创建;new String("abc")在堆内存的常量池生成一个abc,凡是new 出来的东西都在堆当中;
2.String s = "abc"创建了2个对象;String s在栈内存中创建,而在堆内存的常量池生成一个abc。作者: 管文祥 时间: 2019-3-12 19:17
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型,因为字符串的底层数据是char类型的数组,而数组一旦被创建,长度就无法被改变
2.什么情况下会用到Static关键字?
答:用来修饰成员变量:使所有本类的对象都共享同一份静态变量的数据。
用来修饰成员方法:使方法可以通过类名直接调用而不需要创建对象。
静态代码块:当需要初始化某个类,给静态变量赋值的时候。
3.静态代码块会在什么时候执行?
答:静态代码块会随着类的加载而优先执行,而且只执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:String s = new String("abc");这句代码创建3个对象,首先在栈内存中创建了String s,在堆内存中创建了一个new String,然后在堆内存的字符串常量池中生成了一个abc
String s = "abc";创建了2个对象,首先在栈内存中创建了String s,然后在堆内存的字符串常量池中生成了一个abc