AP计算机教程3-1:什么是字符串?
什么是字符串
Java中的字符串(string)是class String
的object,可以用来储存一系列字符(如a、b、c、$等)。可以回忆一下之前的内容,想一想Java的class是如何定义其所有object的数据/属性(在Java中称为field)和行为(在Java中称为method)的。
声明和创建字符串
你可以将一个变量定义为String
类型。注意Java中class名都是首字母大写的,而所有的诸如int
、double
和boolean
等基本类型则以小写开头。这是区分基本数据类型和class的简便方法。
String greeting; System.out.println(greeting);
以上代码声明了一个名为greeting
的对象变量,其值暂时为null
,表示还没有指向任何一个实际的object。因此这一语句System.out.println(greeting);
将输出null
。对象变量通过引用(reference)来指向内存中实际的object,这和微信通讯录让你找到想找的人异曲同工。greeting
为null
,因为实际的String
object还没有被创建。
在Java中有两种方式可以创建class String
的object。你可以使用new
操作符后跟空格,再加上class名以及括号()
中用来初始化object的值。这是Java中创建新object的标准办法。
greeting = new String("Hello");
Java中你还可以使用字符串文本(string literal),即双引号"
里的一串字符,来创立String
object。
greeting = "Hello";
在以上两种情况下,class String
的一个object都会在内存中创立,变量greeting
的值则会被设置为指向该object的引用。现在既然greeting
已经指向了实际的object,我们可以看看是哪个class创建了它。
String greeting = "Hello"; Class currClass = greeting.getClass(); System.out.println(currClass); Class parentClass = currClass.getSuperclass(); System.out.println(parentClass);
上述代码会先打印出class java.lang.String
,因为greeting
是由class String
所创建的,class java.lang.String
是其全名而多出的java.lang
是String
所处的包(package)名。Java的每个class都在某个包里,而像String
这样的标准class则位于java.lang
里。Java的每个object里都有创建它的class的引用,此外每个class还有对其parent class的引用。在Java中,每个class只能有一个parent,并能从parent处继承object的field和method。上述代码之后打印出的是class java.lang.Object
,因为Object
是String
的parent。所有Java class的祖先归根结底都可以追溯到Object
上。
0 条评论