在Java语言当中(几乎)一切都是对象,Java虽然是基于C++的,但是相比之下,Java是一种更加纯粹的面向对象的程序设计语言。–《Java编程思想》–
那么有的人就会问:对象到底是个什么东西?而Java程序与对象又是一个什么关系?
(1)其实,万物皆对象,对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,一台电脑,一只钢笔,一个人,一辆轿车等等,都是可以成为对象。
(2)而程序其实就是对象的集合,它们通过发送消息来告知彼此所要做的。
现在我们知道了什么是对象,但是太抽象了。然而程序是一个具体的东西,那么我们在Java程序中如何使用它呢?
1.用引用操纵对象。
其实操作的标识符实际上就是对对象的一个引用。形象的讲,引用其实就相当于遥控器,而对象其实就是就像是电视剧,应用(遥控器)可以与对象(电视机)链接在一块儿。然后用引用(遥控器)来对对象(电视机)进行操作。而引用(遥控器)的好处就是你可以在程序(房间)各处来操作对象(电视机)。
而对象与引用是相互独立的,就好像你可以只有遥控器和只有电视机。虽然没有电视机的遥控器起不来太大作用。
例如:String s; 其中s就为一个引用。但是没有对象与它链接,如果你要向它发送消息,它就只能报错了。那么怎么才能让这种错误不发生呢。那就是在创建引用的时候将它初始化(将它与一个对象链接)。例如:String s=”asdf”;
2.对象必须由你来创建
(1)如何创建对象
一般用new操作符来创建对象。如String s=new String(“asdf”);(上面String s=”asdf”;为Java的简略写法);new的意思是:给我一个新对象。
而学习对象。我们需要了解Java程序数据的存储位置
(2)数据存储的位置
1)寄存器。特点:在CPU内部。存取速度最快。数量极小。你学Java碰不到它。
2)堆栈。特点:在内存(RAM)中.速度很快,但缺乏灵活性,所以对象的引用存放在此而对象不在。
3)堆。特点:在内存(RAM)中,较堆栈灵活性更高,但速度较堆栈慢。(new的作用是在堆中给对象分配位置)
4)常量存储。通常存储在代码内部,不通常时(嵌入式系统中)存放在ROM当中。
5)非RAM存储:这种是特殊情况,存在硬盘当中。不多概述。
注:RAM:随机存取存储器 ROM:只读存储器(Read-Only Memory)的简称