Think in java 学习笔记:JAVA中几乎一切都是对象

2016-09-05  本文已影响0人  sinczy

1. 引用操纵对象

2. 对象存到哪儿

最快,按需求分配,不能直接控制

存储灵活性差,存的是引用

存放所有对象,进行存储分配和清理用的时间比堆栈长

常量值存到代码内部

数据存活于程序之外

3. 特例:基本类型

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

| 基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
| -----|----| ----|
| boolean | - | - | - | Boolean |
|char|16-bit|...|...|Character|
|byte|8 bits|...|...|Byte|
|short|16 bits|...|...|Short|
|int|38 bits|...|...|Integer|
|long|64 bits|...|...|Long|
|float|32 bits|...|...|Float|
|double|64 bits|...|...|Double|
|void|-|-|-|Void|

用包装器类创建非基本对象,例如
char c = 'a'; char ch = new Character('a'); 或 char ch = new Character(c);
自动包装功能
Character ch = 'a'; 并且可以反向转换 char c = ch;

高精度数字

BigInteger 整数 能准确表示任何精度的整数值;
BigDecimal 定点数 进行精确的货币计算。

4. 永远不需要销毁对象

5. 创建新的数据类型: 类

如下表

基本类型 默认值
boolean false
char null
byte 0
short 0
int 0
long 0l
flaot 0.0f
double 0.0d

6. 方法参数和返回值

ReturnType methodName( /* Argument list */){ /* methodBody */ }

方法名和参数列表是合起来称方法签名,唯一地标识出某个方法。
通过对象调用方法:ObjectName.methodName(arg1,arg2,arg3);
调用方法的行为通常被称为发送消息给对象。如 int x = a.f(); 就是发送消息f() 给对象x。

方法的参数列表指定要传送给方法什么样的信息,信息采用的都是对象的形式。传递对象实际上也是引用。

7. 构建一个java程序

为了使类库的名字不与其他名字混淆,java设计者希望程序员使用自己的internet域名。

import 指示编译器导入一个包,也就是一个类库。 import java.unit.*; * 是通配符,指unit里的所有类。

当声明一个事物是static时,就意味着这个域或方法不会与包含它的那个类的任何对象实例联系在一起,该事物属于类,而不属于任何对象实例。
对于静态方法,不能通过简单地调用其他非static域或方法而没有指定某个命名对象,来直接访问非static域或方法,因为非static域或方法必须与某个特定对象关联。

8. 第一个java程序

在每个程序的开头都声明import语句,引入文件代码所需要的额外类,“额外”是因为有一个特定类会自动被导入到每个java文件中:java.lang

9. 注释和嵌入式文档

/* 注释内容 */ 和 //注释内容

注意javadoc只能为public,proteced成员进行文档注释。

上一篇下一篇

猜你喜欢

热点阅读