简明现代魔法 -> Java编程语言 -> Reference 与 Object
Reference 与 Object
2009-09-06
一个简单的例子
程序要实现各种功能,首先需要具有操纵各种数据的能力。
假如你想操纵一词或者句子,你可以创建一个String类型的reference:
// 创建一个reference String str;
这句代码的意思是,创建一个类型为String的、名字叫str的reference。
这个reference保存在栈stack中,速度很快,但它并没有保存词或者句子的数据,它仅仅是目标数据的一个指向。 如果此时向str发送一个消息,就会返回一个运行时错误,因为此时的str并没有与任何对象相关联。
一种安全的做法是,创建一个reference的时候,同时将它初始化。就是说,同时在堆heap里创建数据,与该reference相关联。
String str = "Hello, I am a magician";
简单的程序演示
public class reference {
public static void main(String[] args){
String str = "Hello, I am a magician.";
System.out.println(str);
}
}
程序输出:Hello, I am a magician.
让reference与object关联,就可以实现多样化操纵数据了
一旦创建了一个reference,就需要将它与一个新的对象相关联。通常可以用new操作符来实现这一目的。
new的意思就是说,“给我分配一个对象吧”。
通过new操作符产生的对象保存在heap中,heap能够存储大量数据,但速度并不是很快。
要实现用reference操纵object,首先需要创建object,可以参看下一篇文章 定制你自己的数据结构——类Class。
