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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
   引用数据   字符串在内存建立时 会进入常量池
2.什么情况下会用到Static关键字?
  当需要成员变量要被共享时,或者成员方法需要用类名来调用时,
3.静态代码块会在什么时候执行?  当第一次用到本类是,静态代码块执行唯一一次。

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
如果常量池中没有abc那就创建两对象,如果有就创建一个对象, new Sting 堆中,“abc” 在堆内存中的常量池中,
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

1个对象   “abc”在常量池中
回复 使用道具 举报
1.String是引用数据类型,字符串的基础数据放在字节码数组中,数组创建后,长度不会变
2.对象要公用的成员变量和成员方法用这个关键字修饰
3.静态代码块在类加载进方法区的时候执行
4.有两个对象,“abc”在堆中常量池创建,new出的对象在堆中,不在常量池内。创建一个对象,在堆中常量池创建
回复 使用道具 举报
1、String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型,因为创建的字符串是常量,常量不可变
2、什么情况下会用到Static关键字?
创建类变量和类方法的时候,用Static修饰成员方法和成员变量
3、静态代码块会在什么时候执行?
随着类的加载而执行且执行一次,优先于main方法和构造方法的执行
4、String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
一、一个,在堆中创建
二、一个,在堆中的字符串常量池中创建
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String是引用数据类型。字符串是常量一旦创建永不更改
2.什么情况下会用到Static关键字?
当需要数据共享时
3.静态代码块会在什么时候执行?
跟类一同执行
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
创建了一个对象,在堆内
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了一个对象,在堆中字符常量池中
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用类型。
因为字符串常量池。


2.什么情况下会用到Static关键字?

1.静态变量:
当分析对象中所具备的成员变量的值都是相同的。这时这个成员就可以被静态修饰。
只要是数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的。
如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,是静态的。

2.静态函数。
函数是否用静态修饰,就参考一点,就是该函数功能是否有访问到对象中特有的数据。
简单来说,从源代码看,该功能是否需要访问非静态的成员变量,如果需要,该功能就是非静态的。如果不需要,就可以将该功能定义成静态的。当然,也可以定义成非静态,但是非静态需要被对象调用,而仅创建对象是没有意义的。
3.静态代码块。
随着类的调用或创建实例而执行,而且只执行一次。
作用:
用于给类进行初始化。

3.静态代码块会在什么时候执行?
随着类的调用或创建实例而执行,而且只执行一次。

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

一个。在堆内存的字符串常量池中。
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
答:String类是引用数据类型,因为每个字符串在堆中的常量池有固定的地址,每次更改都会生成一个新的地址值,所以不可更改。
2.什么情况下会用到Static关键字?
答:需要共享变量或者方法时会用到Static关键字。
3.静态代码块会在什么时候执行?
答:和类同时执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
 String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
答:一个。在堆中创建。1个,在堆中的常量池创建。
回复 使用道具 举报
1、String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
引用类型,每个字符串都有固定的地址,更改字符串,实际更改的是对应的地址,字符串本身并没有消失和改变,所以字符串的长度也是固定的。
2.什么情况下会用到Static关键字?
所有的对象共享同一数据的时候
3.静态代码块会在什么时候执行?
跟类的加载同时进行
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建
一个对象,在堆中生成的,另一句也只产生一个对象,在堆中的常量池中
回复 使用道具 举报


1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
是引用类型,字符串在堆中欧对应的地址值,地址值不变,字符串也不会变。
2.什么情况下会用到Static关键字?
在类的每个对象都有相同的属性时,直接用类名调用成员方法时
3.静态代码块会在什么时候执行?
在第一次用到本类时
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
1、字符串创建了2个对象,左边的在栈中创建,右边在堆内存中创建
2、创建了1个对象,s在栈中,"abc"在堆中
回复 使用道具 举报

1.String是引用数据类型,因为是对象而不是基本数据类型.为不可变对象,一旦被创建,就不能修改它的值.对已存在的String对象的修改都是重新创建1个新的对象,然后把新的值保存进去
2.共享数据的时候,修饰成员变量,修饰成员方法,修饰代码块会用到static关键字
3..当调用一个类的静态变量时,这个类中的静态代码块会执行。
当调用一个 类的静态方法时,这个类中的静态代码块会执行。
当创建一个 类的一个实例时,这个类中的静态代码块、非静态代码块(也叫构造代码块)、创建实例的相应的构造方法都会执行。
4.①创建2个对象,在字符串常量池和字符串对象创建。
②第二个创建了一个。存在字符串常量池
回复 使用道具 举报
MJ11 中级黑马 2018-7-31 21:55:42
30#
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
   String类是引用数据类型。String的底层是靠字符数组实现的,而数字的长度是固定不变的
2.什么情况下会用到Static关键字?
   共享数据,修饰成员变量与成员方法的时候会用到。
3.静态代码块会在什么时候执行?
当调用一个类的静态变量与静态方法时,静态代码块会执行,随着类的加载而执行且执行一次,优先于main方法和构造方法的执行。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?

创建了两个对象,在内存中的字符串常量池与字符串对象中进行创建
创建了一个对象,在字符串常量池中创建。

田浪
回复 使用道具 举报


1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?

引用数据类型;
因为在字符常量池中,属于常量

2.什么情况下会用到Static关键字?
数据共享的时候,想在本类中直接调用的时候, static要调用static的时候,用来一次性地对成员变量进行赋值;


3.静态代码块会在什么时候执行?

所在类第一次使用的时候会执行,且只执行唯一的一次;

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
   
   构造方法创建了一个对象,在堆中储存字符串常量和对象地址两个储存
   直接赋值创建一个对象,在字符串常量池中储存
   
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
--》String 类是引用类型,因为它是常量,长度不可改变

2.什么情况下会用到Static关键字?   --》当本类中数据需要共享时可使用Static关键字

3.静态代码块会在什么时候执行?   --》随类的加载而生成

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?    --》创建了1个对象,在堆内存中
   
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?  ---》创建了2个对象,在堆内存中和字符串常量池中
回复 使用道具 举报
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
        String类是引用数据类型。
        因为创建字符串会在常量池中,字符在内存中,底层是以数组的形式保存的,数组的长度不可变,所以字符串的长度不可变。

2.什么情况下会用到Static关键字?
        多个对象拥有相同的成员变量用static修饰可以共享。
        用static修饰的方法可不创建对象也能调用。

3.静态代码块会在什么时候执行?
        第一次加载类是执行唯一的一次。
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了二个对象,分别在常量池中和堆中。
创建了一个对象,在常量池中。
回复 使用道具 举报
1.String类是引用数据类型,字符串底层是字符数组而数组长度固定不变。
2.被static修饰的数据可以共享给所有对象
3.静态代码块跟随类加载一起执行
4.2个对象一个s在堆内存中,“abc”在字符串常量池中
   1个对象s在堆内存中
回复 使用道具 举报

1.String类是应用数据类型,因为字符串的底层是字符数组,数组的长度是不可变的。
2.单某个数据需要,共享给所有对象时,可以用Static修饰。
3静态代码块会在实例化对象的时候执行。
4.(1)创建了2个对象,分别在字符串产量池中,和堆内存中。
   (2)创建了一个对象,存放在字符串常量池中。
回复 使用道具 举报
邹毅涛
1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
  String是引用数据类型,字符串创建后在字符串常量池,不可改变
2.什么情况下会用到Static关键字?
  当数据共享时,不仅只作用于一个方法时,用Static关键字。
3.静态代码块会在什么时候执行?
  静态代码块在加载class文件时加载。

4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
   String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
创建了2个对象。String 对象在堆中,“abc”在字符串常量池中。
(2)创建了一个对象,存放在字符串常量池中。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马