Java编程思想读书笔记第二章

2.1 用引用操纵对象

Object n = new Object();
创建了一个Object类的对象,然后建了一个指向该对象的引用:n。

在Java里,尽管一切都被看作对象,但操纵的标识符实际上是对象的一个“引用”

2.2必须由你创建所有对象

2.2.1 存储到什么地方

内存是怎么分配的?可以在五个地方存储数据:

  1. 寄存器
  2. 堆栈 Java对象引用存储的地方
  3. Java对象存储的地方
  4. 常量存储 可以放在ROM(只读存储器)中
  5. 非RAM存储器 流对象和持久化对象

2.2.2 特例:基本类型

基本类型不用new来创建变量,而是创建一个并非是引用的“自动“变量。这个变量直接存储”值“,并置于堆栈中,因此较在堆中创建对象更加高效。

高精度数字
BigInteger和BigDecimal,
这俩者为Java提供的专门用于高精度运算的类。

2.2.3 Java中的数组

Java确保数组会被初始化,而且不能在它的范围之外被访问

2.3 永远不需要销毁对象

变量生命周期的混乱往往会导致大量的程序bug,但Java用一种有趣的机制大大简化了对象清理的问题。

2.3.1 作用域

作用域决定了在其内定义的变量名的可见性和生命周期

在C、C++和Java中,作用域由花括号的位置决定。
{
int x=12;{
int q= 96;//Both x and q available}
}
//Only x available
// q is "out of scope"
}

在作用域里面定义的变量只可用于作用域结束之前

2.3.2 对象的作用域


String s = new String("a String");
// End of scope
}

Java对象不具备和基本类型一样的生命周期,当用new 创建一个Java对象时,他可以存活在作用域之外。引用s在作用域终点就消失了,但s指向的String对象仍旧继续占据着内存空间。

为了防止这些对象填满整个内存空间,Java依靠垃圾回收器解决内存问题。
你只需要创建对象,一旦不需要,它们就会自行消失

2.4 创建新的数据类型:类

class ATypeName {
/* Class body goes here */ }
这就命名了一个新的数据类型:类;
定义了一个类之后(虽然上面的例子仅有一条注释语句),但也可以用new来创建这种类型的对象:
ATypeName a = new ATypeName( );

2.4.1 字段和方法

一旦定义了一个类,就可以在类中定义俩种类型的元素:字段(有时也被称作数据成员)和方法(有时也被称为成员函数)。

基本成员默认值
若类的某个成员是基本数据类型,即使程序员没有对其进行初始化,Java也会确保它获得一个默认值。

基本类型默认值
booleanfalse
charnull
byte(byte)0
short(short)0
int0
long0L
float0.0f
double0.0d

然而“局部”变量(即并非某个类的字段)不会被默认初始化。

2.5 方法、参数和返回值

方法的基本组成部分包括:名称、参数列表、返回值和方法体
RetureType methodName(/*Argument list*/){
/* Method body*/
}
方法名和参数列表(它们合起来被称为“方法签名”)唯一地标识出某个方法

2.5.1 参数列表

参数列表中必须指定每个所传递对象的类型以及名字
若返回类型是void,return关键字的作用只是用来退出方法。

2.6 构建第一个Java程序

2.6.1 名字可见性

包名——逆用域名

2.6.2 运用其他构件

在自己程序里使用预先定义好的类,可以使用关键字import来准确的告诉编译器你想要的工具类是什么。

2.6.3 static关键字

创建类的过程,换句话说也是对那个类的对象的外观与行为的描述。除非用new创建那个类的对象,否则,实际上并未获得任何对象。执行new来创建对象,数据存储空间才被分配,其方法才可供外界调用。但存在俩种特殊需求是上述方法满足不了的。

一种情形是:只想为某特定域分配单一存储空间;而不去考虑究竟要创建多少对象,甚至根本就不创建任何对象。

另一种情形时,希望某个方法不与包含它的类的任何对象关联在一起;也就是说,即便不创建这个类的对象,也可以调用这个方法。

通过关键字static可以满足上述俩种需要。

使用类名是引用static变量的首选方法,这不仅仅是因为它强调了变量的static结构,而且在某些情况下它还为编译器进行优化提供了更好的机会。

和其他任何方法一样,static关键字可以创建或者使用与其类型相同的被命名对象,因此,static方法常常拿来做“牧羊人”的角色,负责看护与其隶属同一种类型的实例群。

2.7 你的第一个Java程序

第一个Java程序

2.7.1 编译和运行

JDK:Java Developer’s Kit,Java开发人员工具包。
自行安装编译器

2.8 注释和嵌入式文档

Java有着俩种注释风格。
第一种
注释
第二种
注释

2.8.1 注释文档

javadoc输出的是一个HTML文件,可以同Web浏览器查看。这样,该工具就使得我们只需创建和维护单一的源文件,并能自动生成有用的文档。有了javadoc,就有了创建文档的简明直观的标准。

2.8.2 语法

所有javadoc命令都只能在“/*”注释中出现。
使用javadoc的方式主要有俩种:嵌入式HTML,或使用“文档标签”。
共有三种类型的注释文档,分别对应于注释位置后面的三种元素:类、域、方法
注意:javadoc只能为public和protect成员进行文档注释

2.8.3 嵌入式HTML

不要在嵌入式HTML中使用标题标签,因为javadoc会插入自己的标题,而你的标题可能与它们发生冲突。

2.8.4 一些标签示例

这一块暂时略过,写注释是不可能的,手动狗头…

2.8.5 文档示例

注释文档示例

2.9 编码风格

Java编程语言编码约定中,提出代码风格:驼峰命名法

2.10 总结

了解了编写一个简单程序的Java编程知识。此外,对Java语言及它的一些基本思想也有一个总体认识。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值