第二章 一切都是对象

来源:互联网 发布:mysql设置最大连接数 编辑:程序博客网 时间:2024/06/05 11:22

一切都是对象 操作的标记符其实是一个引用 有一个引用不一定要有一个对象与它关联
比如: 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成员进行文档注释

0 0