1,堆内存的特点之一是:堆内存中的变量都有默认初始化值。
2,数据类型分基本数据类型和引用数据类型,String类型是引用数据类型,字符串应该是一个对象。
3,对象应该存储在堆内存中。但是字符串是在堆内存中吗???(它也是一个常量,对于常量我不知道它应该在哪片内存)这一点我不清楚。如果它是在堆内存中,那么就应该有默认初始化值才对啊
4,代码比较
class Demo
{
public static void main(String[] args)
{
String name;
//System.out.println(name);//Demo.java:6: 错误: 可能尚未初始化变量name——为什么没有默认初始化null
Person p = new Person();
System.out.println(p.name);//默认初始化值:null
}
}
class Person
{
String name;
}
还望大家指点迷津,给讲讲字符串的知识。谢谢!
|
|