A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用类型,除了四类八中基本类型,其他都是引用类型。String创建的类是在地址值当中,如果长度改变那么就是另一个地址值。
2.什么情况下会用到Static关键字?
不创建对象的情况下,去调用方法。从而重复利用同一个值,节省内存。
3.静态代码块会在什么时候执行?
随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?String s = new String("abc");创建2个对象。new String在堆中,“abc”在堆中常量池。
String s = "abc";创建一个对象,在堆中常量池。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型。因为字符串的底层用的是数组,所以字符串长度不可变。

2.什么情况下会用到Static关键字?
当需要进行一次性赋值时用Stati关键字修饰,在需要创建类变量时也可以用Static关键字修饰。

3.静态代码块会在什么时候执行?
静态代码会在第一次加载类的时候执行,且只会执行一次。

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
2个对象。new在堆内存中创造了一个区域,“abc”是在字符串常量池中创建的。

String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1个对象。abc”是在字符串常量池中创建的。



回复 使用道具 举报
1.String类是引用数据类型。因为String底层是靠字符数组实现的,数组的长度不可变,所以导致字符串长度不可变。

2.用到Static关键字的时候,就相当于是方法了,可以不用通过new对象来调用它,可以直接通过方法的方式调用它。用到它的情况就是,这个内容是所有成员属性共享的内容的话就可以用static。

3.静态代码块就是定义在成员位置,并用static修饰的代码块{},伴随类的调用来执行,并且只执行一次。

4.String s = new String("abc");这句代码创建了2个对象,两个都在堆内存中。String s = "abc";创建了一个对象,在堆内存中。
                                    黄成成出品
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型。因为String类的底层是byte数组,而数组一旦创建不可改变,所以String类无法改变长度。
2.什么情况下会用到Static关键字?
当多个对象的有相同的属性时,可以使用Static关键字修饰
3.静态代码块会在什么时候执行?
静态代码块会在加载类的时候执行,而且只能执行一次。
4.Sngtri s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
.Sngtri s = new String("abc");这句代码创建了2个对象,“abc”在代码池中创建,new对象在堆中创建;
String s = "abc";创建了一个对象,“abc”在代码池中创建
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型。因为String类的底层是byte数组,而数组一旦创建不可改变,所以String类无法改变长度。
2.什么情况下会用到Static关键字?
当多个对象的有相同的属性时,可以使用Static关键字修饰
3.静态代码块会在什么时候执行?
静态代码块会在加载类的时候执行,而且只能执行一次。
4.Sngtri s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
.Sngtri s = new String("abc");这句代码创建了2个对象,“abc”在代码池中创建,new对象在堆中创建;
String s = "abc";创建了一个对象,“abc”在代码池中
回复 使用道具 举报
1.String类是引用数据类型,字符串底层是采用数组去存储每个字符,数组的长度是无法改变的,所以它的长度是不可变。
2.当对象需要用到同一个成员变量或者成员方法的时候需要static修饰;创建静态代码块的时候需要用到static。
3在第一次用到本类时候,静态代码块仅唯一实行一次。
4String s = new String("abc")一共创建了两个对象,"abc"的对象会在堆的字符串常量池中,而new代码则会在堆中创建一个内容和"abc"一样的但并不是同一个对象。
String s = "abc"创建了一个对象,在堆的常量池中创建;
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用数据类型,因为字符串底层使用数组进行保存的所以长度不可变
2.什么情况下会用到Static关键字?
只在类中保存一份,所有对象使用同一份,不需要每个对象单独赋值
3.静态代码块会在什么时候执行?
第一次加载类的时候执行,且仅执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
两个对象“abc”在常量池内。new String 在堆内。
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
一个对象“abc”在常量池中
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型;
字符串的内容是永不可变的,效果上相当于char[ ]字符数组,底层原理是byte[ ] 字节数组去储存每个字符的.

2.什么情况下会用到Static关键字?
被Static修饰的成员变量可以不用创建对象的情况下进行修改;
当外部用类访问某个成员方法的时候可以不用对象去访问,可以用static修饰该方法.

3.静态代码块会在什么时候执行?
当第一次用到本类时,静态代码块执行唯一一次.

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

String s = new String("abc"):创建了两个对象,new在内存中的堆内存里,abc在堆中的字符串常量池里;
String s = "abc";创建了一个对象,在常量池中创建。




回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:Srting是引用数据类型,Srting引用类型的特点就是字符串的值被创建之后是不能改变。
2.什么情况下会用到Static关键字?
答:在静态的代码中会运用到static,还有就是我们的代码开头“public staitic void main(){};”main方法中也有运用到,静态会用到static!
3.静态代码块会在什么时候执行?
答:静态代码在只用static的修饰符才会执行,它的位置在类中方法外随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
答:创建了两个字符串,双引号是在堆内存中字符串常量池创建,new是在堆内存中创建。
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:
创建了一个,在堆内存中的字符串的常量池中创建

        
        
   
   

[url=]评分[/url]



回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用类型;因为字符串的值在创建后不能更改
2.什么情况下会用到Static关键字?
用来一次性的对静态成员变量进行赋值,如果想要方法优先执行也可以用static关键字修饰
3.静态代码块会在什么时候执行?
在被本类调用的时候或者在被其他类调用的时候静态方法和类一起被调用.只会执行一次
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
创建了两个对象,"abc"在字符串常量池当中,new String在堆当中
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了一个对象,在字符串常量池当中
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用数据类型。每创建一个String,都是创建了一个String类的对象。都是一个地址值(如果直接双引号创建的是保存在一个常量池中)。因此长度不可改变

2.什么情况下会用到Static关键字?
当数据是所有对象共有的,则可以使用static让这个变量或方法为所有对象共享。

3.静态代码块会在什么时候执行?
类出现时就会执行,它优先于对象被执行。且只执行一次。

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1.创建了两个对象,在堆中和常量池中各创建了一个对象。
2.在常量池中创建了一个对象。

回复 使用道具 举报
本帖最后由 李群英 于 2018-12-10 22:00 编辑

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型。因为字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组,数组长度不可变,所以字符串的长度不可变。
2.什么情况下会用到Static关键字?
用来一次性地对静态成员变量进行赋值。
3.静态代码块会在什么时候执行?
当第一次用到本类时,静态代码块执行唯一的一次,静态内容总是优先于非静态,所以静态代码块比构造方法先执行。

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = new String("abc");创建了两个对象,new在内存中的堆内存里,"abc"在字符串常量池创建;
String s = "abc"; 创建了一个对象,"abc"在字符串常量池创建。
回复 使用道具 举报
1:是引用数据类型。字符串的底层是byte类型的数组,因此其长度不可变
2:当多个对象的成员属性统一时,可以用Static修饰去共享同一个成员属性 避免创建对象是要多次的进行属性设置。
3:随着类的加载执行且只执行一次,优先于main方法和构造方法的执行
4:创建了两个 在对内存常量池创建 new实在对内存中创建
创建了一个 在对内存常量池创建
回复 使用道具 举报
一:String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
1、String属于引用数据类型,因为String是一个类。
2、字符串不变:字符串的值在创建后不能被更改。
二:什么情况下会用到Static关键字?
1、修饰成员变量:在我们平时的使用当中,static最常用的功能就是修饰类的属性和方法,让他们成为类的成员属性和方法,我们通常将用static修饰的成员称为类城阳或者静态成员,其实这是相对对象的属性方法来说。
2、修饰成员方法:static的另一作用,就是修饰成员的方法。相比修饰成员属性,修饰成员方法对于数据的储蓄上面并没有多大的变化,因为我们可以从上面可以看出,方法本来就是存放再累的定义当中。String修饰成员方法最大的作用,就是可以使用“类名·方法”的方式操作方法,避免了先要new出对象的繁琐和资源消耗,我们可能会经常在帮助类中看到它的使用。
3、静态块:在说明static关键字的第三个用法时,我们有必要重新梳理一下一个对象的初始化过程。
4、相比于上面的三种用途,第四种用途可能了解的人就比较少了,但是实际上它很简单,而且在调用类方法时会更方便。
三:静态代码块会在什么时候执行?
随着类的加载二执行,而且只执行一次。
四:String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1、new String()和“abc”两个对象,new String()是存放“abc”的指针,存放在堆中;“abc”存放在栈中。
2、创建了一个对象“abc”。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
   String类是字符串引用类型,因为字符串的效果相当于char[]字符的数组,而每个字符的底层原理是都是由byte[]字节数组,所以它是常量,自然长度不可改变。

2.什么情况下会用到Static关键字?
当某个成员变量的属性是共同拥有并且相同的情况下,就可以用Static进行修饰,共享该属性,不用逐个赋值。

3.静态代码块会在什么时候执行?
静态代码在所属类中,会优先于非静态先进栈执行,并且只执行一次

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   创建了几个对象,分别在内存中的哪个区域创建?
   String s=new String("abc");创建了两个对象,一个是对象 s ,存在方法区;一个是 字符串“abc",存在堆内存常量池中。
String s = "abc"; 创建了一个对象,存在堆内存常量池中。




回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马