Java编程思想之一切都是对象

来源:互联网 发布:淘宝统计消费 编辑:程序博客网 时间:2024/05/16 02:08

1.用引用操作对象就好比用遥控器操控电视机,因此引用可以独立存在,并不一定要和对象相连。在语法上偏向于c++的引用,而不是指针。

2.用new来创建对象。Java有五个地方存储数据。

一,寄存器,读取速度最快的存储区,但只能根据需求分配,不能直接控制。

二,堆栈,处于RAM中,通过堆栈指针上下移动从处理器中分配内存。但是程序运行时,Java系统得知道堆栈内所有项目的生命周期,以便于上下移动堆栈指针。对象的引用存在此中。

三,堆,位于RAM中,用于存储所有Java对象。堆内数据不需要知道存储的数据在堆里的存活时间。但用堆进行存储分配和清理需要比堆栈更多的时间。

四,常量存储,常量值通常存在代码内部。但有时在嵌入式系统中,可以存储ROM中。

五,非RAM存储,数据完全存活在程序之外,比如:流对象和持久化对象。流的应用比如:字节流。持久性对象的应用:把对象转化存储在其他媒介上的食物。

3.因为new将对象存储在堆中,但由于堆的运行机制,使得对于小而简单的变量,没有很好的效果。基本变量存在堆栈中,直接存储值。基本类型存储空间的大小具有平台无关的不变性。包装器类能利用基本类型在堆中创建对象,java 5以后具有自动包装的功能。Java提供了2个用于高精度计算的类:BigInteger和BigDecimal,得使用方法调用来替换运算符计算的方式。

4.Java确保数组会被初始化,使用时不会越界。这是以每个数组上少量的内存开销和运行时的下标检查为代价的。数组对象就是一个引用对象的数组。

5.Java中不允许相同变量在不同作用域上同时定义并初始化。Java对象不具有跟基本类型一样的生命周期。引用在作用域终点消失后,所指的对象还存在内存中。但由于Java垃圾回收器释放掉不再被引用的对象。

6.局部变量没法在不赋值的前提下进行自动初始化,可能被赋给任意值,而不会初始化为0. 

7.方法签名(唯一标识方法):方法名+参数列表。

8.发送消息给对象:消息指调用的对象方法。

9.Java引入了包名的机制来排除名称的混淆,并消除了“向前引用”。类库指的是具有很多类程序文件的文件夹。大多时候,我们使用与编译器附在一起的Java标准类库。

10.执行了new对象,数据存储空间才被分配。非static方法可以访问static域和方法,但static方法无法访问非static方法和域。static修饰的成员对每个类来说只有一份存储空间,而非static成员则对每个对象都有一个存储空间。static方法可以在不创建对象的前提下就可以调用。

11.类名必须与文件名一样,如果这个文件要运行,则要有同样名称的类和类中有main方法。安装好JDK后,还需要设置好路径信息,以确保计算机能够找到javac和java这两个文件。

12.注释文档是把代码和文档链接一起,使用了特殊的注释语法,需要javadoc来提取注释。所有javadoc命令都只在“/**”后出现,结束于”*/“。有两种语法,文档标签和嵌入HTML。独立文档标签以@开头,并置于注释行最前面。而行内文档标签则可以在注释的任何地方,也以@开头,但要在花括号以内,javadoc只能用于public和protected成员注释,其他成员会被忽略。共有三种类型的注释文档,分别对应于注释位置后面的三种元素:类,域和方法。

13.javadoc标签。@see @link @docRoot @inheritDoc @version @author @since @param @return @throws @deprecated 

14.”///:~“标志源代码清单的结束。类名首字母大小,标识符要有驼峰风格。


原创粉丝点击