java中String 属于什么变量 primitive主数据类型变量还是对象引用变量?

如题所述

String是Java中的类不是基本数据类型,String是通过new一个String对象来存贮字符串的,在内存的堆里面开辟空间,同时在栈里面存储引用,指向堆里面的空间 例 String str=new String(); str就存放在栈中指向堆中开辟的空间追问

public class String{
public static void main(String[] args){
String str=new String("abc");
System.out.println(str);
}
}
错在哪?

追答

String作为Java中的关键字,是不能被你乱用的,将类名改成其他的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-03
虽然String不是JAVA的关键字,但是String是不能作为类名的,因为它已经定义在java.lang包中,是默认的import在任何程序中的,而且是final类的。
第2个回答  2012-04-12
string是个类,属于引用类型变量;
primitive是数据类型变量
第3个回答  2012-04-11
当然是引用类型了。
第4个回答  2012-04-11
回帖回的还是正确的,讲的挺清楚的,楼主后来追问的错误很明显,你String str里的String到底是java.lang.String还是你自己创建的类String,要不写成java.lang.String str=new java.lang.String("abc"),当然最好把类名改成别的
第5个回答  2012-04-10
对象引用变量追问

但它存储的不是引用而是字符啊

相似回答