一切都是对象(1)

/**Java 语言假设我们只进行面向对象的程序设计**/

用引用操作对象:

1、编程语言操纵内存元素的方式:(1)、直接操纵元素(汇编)(2)、基于特殊语法的间接表示(C、C++的指针)

2、JAVA,一切都被视作对象---->可以采用单一固定的语法。

3、用引用操纵对象:操纵的标识符是对象的一个“引用”。

  String s = "asdf";

Java语言特性之一:字符串可以用带引号的文本初始化。

必须由你创建所有对象:

1、关键字new:给我一个新对象。---->String s =new String ("asdf"); String 、New 均为关键字

2、存储到什么地方:

(1)、寄存器:  优点:速度最快(位于处理器内部) 缺点:数量有限、JAVA不能直接控制(C、C++可以提供建议分配)

(2)、堆栈:常存放对象引用         优点:可以通过堆栈指针进行控制(位于RAM),快速有效的分配存储方式    缺点:Java系统必须知道存储在堆栈内的项的确切生命周期,限制了灵活性

(3)、堆:存放所有JAVA对象       优点:不需要知道存储的数据在堆里存活多长时间,灵活性强          缺点: 耗时

(4)、常量存储:程序代码内部

(5)、非RAM存储:把对象转化成可以存储在其他媒介上的事物。

RAM(随机访问存储器)与ROM(只读存储器):RAM掉电信息被擦出,ROM掉电信息保留

3、基本类型:(小的、简单的变量;直接存储“值”,并置于堆栈中)

(1)、Java确定每种类型所在存储空间大小,并保持不变,所以比其他大多数语言编写的程序更具可移植性。

(2)、boolean(ture or false)、char、byte、short、int、long、float、double、void

(3)、所有数值类型都有正负号

(4)、高精度数字(以速度换精度):BigInteger(支持任意精度的整数)、BigDecimal(支持任何精度的定点数)。

4、Java数组:

(1)、C、C++数组就是内存块,容易出系统错误

(2)、java数组会被初始化(null),且不能访问他范围之外的数据

永远不需要销毁对象:

1、作用域:

java不允许:

  int x=12;

  {

    int x=69;

  }

而C、c++允许。

2、对象的作用域:

  String s = new String (“a String ”);

s在作用域终点就消失了,但s仍占内存空间;

3、Java内有垃圾回收器:监视用new创建的所有对象,并辨别那些不再被引用的对象,释放内存。

 

posted @ 2017-05-06 19:29  741了  阅读(93)  评论(0)    收藏  举报