Java编程思想读书笔记——一切都是对象
来源:互联网 发布:淘宝鳄鱼皮真假鉴别 编辑:程序博客网 时间:2024/05/22 13:30
第二章 一切都是对象
本章介绍Java程序的基本组成部分。
2.1 用引用操纵对象
操纵对象的标识符就是引用。例如:
String str = “asdf”;
2.2 必须由你创建所有对象
存储区域的分类:
1) 寄存器
最快的存储区,位于处理器内部,但数量有限,且不能直接控制。
2) 堆栈
位于通用RAM(随机访问存储)中,堆栈指针向下移动,则分配新的内存,向上移动则释放内存,仅次于寄存器,存储Java程序的对象引用,但不存储Java对象。创建程序时,Java系统必须明确知道存储在该区域所有项的确切生命周期
3) 堆
位于RAM区,是一种通用的内存池,用于存储所有的Java对象。与堆栈不同的是,无需知道存储的数据在堆内的存活时间。
4) 常量存储
常量值通常直接存放在程序代码内部
5) 非RAM存储
数据完全存活于程序之外,不受程序控制,典型的例子是流对象和持久化对象。这种存储方式在于,把对象转化成可以存放在其他媒介上的事物,在需要时,可以恢复成常规的、基于RAM的对象。
基本类型(无需new来创建变量)
java SE5后的自动包装功能能自动地将基本类型和对应的包装类型互相转换。
高精度数字
BigInteger和BigDecimal,前者用于任意位数的整数,后者用于任意精度的数字的计算。
Java中的数组
与C和C++不同,Java中的数据会被初始化,并且不能在它的范围之外被访问(即数组下标不能越界)。
2.3 永远不需要销毁对象
2.3.1 作用域
作用域决定其内定义的变量名的可见性和生命周期,其由花括号决定。
2.3.2 对象的作用域
Java对象不具备和基本数据类型一样的生命周期。当使用new关键字新建对象时,该对象可以存活于作用域之外。
{ String str = new String("a string");}
当引用s在作用域终点消失时,String对象并没有消失,依然占据内存空间,它最终的销毁是由Java中"垃圾回收机制"来完成。
2.4 创建新的数据类型:类
类中包含两种元素:字段(数据成员)和方法(成员方法)。
class ATypeName{ /* Class body goes here */}
2.5 方法、参数和返回值
调用方法就是向对象发送消息。
ReturnType methodName(/* Argument list */){ /* Method body */}
参数类型为基本数据类型,则传递的是引用;参数类型为对象数据类型,则传递的是对象。
2.6 构建一个Java程序
名字可见性
包名:域名反转,小写。
运用其他构建
使用关键字import导包。
static关键字
当声明一个事物为static时,意味着这个域或者方法不会与包含它的那个类的任何实例对象关联。
2.7 你的第一个Java程序
import java.util.Date;public class HelloDate { public static void main(String[] args){ System.out.println("Hello, it's: "); System.out.println(new Date()); }}
编译javac HelloDate.java,运行java HelloDate。
2.8 注释和嵌入式文档
注释
单行注释://多行注释:/* ... */
嵌入式文档
javadoc:/** ...(使用HTML或者文档标签) */可在类、字段和方法上使用
嵌入式HTML
/** * You can <em>even</em> insert a list: * <ol> * <li>Item one</li> * <li>Item two</li> * <li>Item three</li> * </ol> */
不要使用标题标签,如<h1>或<hr>等。所有类型的注释文档(类、字段和方法)都支持嵌入式HTML。
标签
1. @see: 引用其他类
该标签格式如下: @see classname @see fully-qualified-classname @see fully-qualified-classname#methodname
2. {@link package.class#method label}
与@see类似,但只用于行内。
3. {@docRoot}
产生到文档根目录的相对路径。
4. {@inheritDoc}
该标签从当前的类的最直接基类继承相关文档到当前的注释文档中。
5. @version
该标签格式如下: @version version-information
6. @author
该标签格式如下: @author author-information
7. @since
该标签允许指定程序代码最早使用版本。
8. @param
该标签用于方法文档中,方法的每一个参数都有一个这样的标签,其格式为 @param parameter-name description
9. @return
该标签用于方法文档,其格式为: @return description
10. @throws
该标签用于方法文档,其格式为: @throws fully-qualified-class-name description
11. @deprecated
该标签用于指出一些旧特性已被新特性取代,建议用户不要再使用这些旧特性。
2.9 编码风格
类名:每个单词首字母大写包名:域名反转,全部小写其余:驼峰风格,一个单词全部小写,后面单词首字母大写。
阅读全文
0 0
- Java编程思想读书笔记——一切都是对象
- 《Java编程思想》读书笔记2.一切都是对象
- Java编程思想读书笔记--一切都是对象
- java编程思想读书笔记二:一切都是对象
- Java编程思想——一切都是对象
- 【笔记】Java编程思想—一切都是对象
- Java编程思想第四版读书笔记——第二章 一切都是对象
- 读书笔记——思想(01)一切都是对象
- Java编程思想读书笔记:第2章 一切都是对象
- Java编程思想读书笔记-第二章 一切都是对象
- java编程思想读书笔记-第二章一切都是对象
- Java编程思想——ch02 一切都是对象
- 2.JAVA编程思想——一切都是对象
- Java编程思想——第二章.一切都是对象
- Java编程思想笔记——第二章 一切都是对象
- java编程思想学习日志——一切都是对象
- Java编程思想之一切都是对象
- 《Java 编程思想》--第二章:一切都是对象
- C++中的左值和右值
- 千寻穗C语言学习日记8.31
- 从二叉搜索树的第k个节点问题看递归如何返回普通变量和对象
- 内核驱动程序完整性校验的原理分析
- js 数组基础
- Java编程思想读书笔记——一切都是对象
- 如何用JAVA语句创建一个表
- "undefined reference to" 问题解决方法
- 如何 面对自己的负面情绪-刘轩
- 机器学习第六周(二)
- vim常用命令
- Max sum HUD1003(dp)
- poj 2456:Aggressive cows
- linear regression (依据斯坦福大学网上机器学习视频)