您的位置:首页 > 编程语言 > Java开发

第二章 一切都是对象

2016-11-22 21:41 288 查看
一切都是对象 操作的标记符其实是一个引用 有一个引用不一定要有一个对象与它关联

比如: String s;

java 有五个不同的地方可以存储数据:

1寄存器 最快 位于处理器的内部 不能控制

2栈 ram 对象引用存在堆中 但是java对象不存储在这里

3 堆 内存池 也位于ram区 用于存放所有java对象

4常量存储 常量值通常存储在程序代码内部。

5非ram存储 完全存活与程序之外

特例:基本数据类型

基本类型的数据直接存储在栈内存中

所有的数值类型都有正负号

java提供了两个用于高精度计算的类

BigInteger 和BigDecimal 它们大体上也属于包装类 但没有基本类型

这两个类包含的方法、提供的操作与对基本类型所能执行的操作相似

当基本数据类型用吧

BigInteger 支持任意精度的定点数 也就是说在运算中可以准确地表示任何大小的整数值 而不会丢失任何信息

BigDecimal 支持任意精度的定点数 可以用它进行精确的货币计算

java有一个垃圾回收器 用来监视new创建的所有对象 并辨别那些不会再被引用的对象 随后释放这些对象的内存空间 以便供其他新的对象使用 也就是说根本不用担心内存回收的问题 你只要创建对象 一旦不再需要 它们就会自行消失 这样做就消除了内存泄露的问题。这是由于程序员忘记释放内存而产生的问题。

是不是栈内存不够用了?

返回类型描述的是在调用方法之后从方法返回在值。参数列表给出了要传给方法的信息的类型和名称。方法名和参数列表(方法签名) 唯一的标识了一个方法。

int x=a.f();

这种调用方法的行为通常被称为发送消息给对象。

形参传递的其实也是引用

对于基本类型 尽管传递的是对象 而实际上传递的是对象的引用

return关键字的用法:

1离开此方法

2 如果此方法产生量值 这个值要放在return后面

通常来说 当创建类时 就是在描述那个类的对象的外观与行为 除非用new创建那个类的对象 否则实际上并未获得任何对象。执行new来创建对象时 数据存储空间才被分配 其方法才供外界调用

static不用创建对象 直接用类名调用

在一个类中即使创建两个static对象也只用一份内存空间

一个static字段对每个类来说都只有一份内存空间 非static字段则是对每个对象有一个存储空间

main方法 args用来存储命令行参数

javadoc只能为public和protected成员进行文档注释
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java