1.String类是基本数据类型还是引用数据类型?为什么字符串的长度不可变?
String类是引用数据类型, 因为字符串创建后在常量池中,
String类是final类故不可以继承,也就意味着String引用的字符串内容是不能被修改。
String有两种实例化方式: (1)直接赋值(例中,String str = "Hello";就是直接赋值实例化了)
(2)使用new调用构造方法完成实例化;
2.什么情况下会用到Static关键字?
当需要成员变量要被共享时,或者成员方法需要用类名来调用时,
3.静态代码块会在什么时候执行?
静态代码块会随着类的加载而加载,当第一次创建对象时就会执行静态代码块,而且只执行一次.
4.String s = new String("abc");这句代码创建了几个对象?分别在内存中的哪个区域创建?
String s = new String("abc"); 如果常量池中没有abc那就创建两对象,如果有就创建一个对象, new Sting在堆内存中的常量池中, 对象s在栈内存中.
String s = "abc";创建了几个对象,分别在内存中的哪个区域创建?
String s = "abc";创建了一个对象, 在堆内存中. |
|
|