用引用操纵对象
- Java里的一切都被视为对象,操纵的标识符实际上是对象的一个“引用”。类似于使用遥控器(引用)来操纵电视机(对象)。例如:
String s;
- 这里所创建的s只是引用,并不是对象。一旦创建了一个引用,就希望能与某个对象关联,通常用new操作符来创建对象。
String s = new String("Hello world!");
存储类型
存储类型 | 位置 | 可存数据 |
---|---|---|
寄存器 | 处理器 | 运算数值 |
堆栈 | RAM | 对象引用,基本类型 |
堆 | 内存池(位于RAM区) | Java对象 |
常量存储 | 程序代码内 | 常量值 |
非RAM存储 | 磁盘 | 流对象,持久化对象 |
基本类型
基本类型 | 大小 | 最小值 | 最大值 | 默认值 | 包装器类型 |
---|---|---|---|---|---|
boolean | - | - | - | false | Boolean |
char | 16 bits | Unicode 0 | Unicode -1 | null | Character |
byte | 8 bits | -128 | +127 | 0 | Byte |
short | 16 bits | - | +-1 | 0 | Short |
int | 32 bits | - | +-1 | 0 | Integer |
long | 64 bits | - | +-1 | 0L | Long |
float | 32 bits | IEEE754 | IEEE754 | 0.0f | Float |
double | 64 bits | IEEE754 | IEEE754 | 0.0d | Double |
void | - | - | - | - | Void |
- Java 没有无符号整型,所有数值类型都有正负号,boolean类型所占存储空间大小没有明确指定,只能取值true或false。
- Java提供了两个高精度计算的类:BigInteger和BigDecimal,BigInteger支持任意精度的整数,BigDecimal支持任意精度的定点数。两者都没有对应的基本类型。
static 关键字
- 当声明一个事物是static时,就意味着这个域或方法不会与包含它的任何对象关联在一起,一般使用类来访问static域或方法。
- 当static作用于某个字段时,会改变数据创建的方式(static字段对每个类来说都只有一份存储空间,非static字段则是对每个对象都有一个存储空间),static方法的一个重要用法是在不创建任何对象的前提下就可以调用它,应用运行的入口函数main()正是被定义为static方法。
注释
Java有三种类型注释:行注释、块注释和。
- 行注释
// This is a one-line comment.
- 块注释
/* This is a comment
* that continues
* across lines
*/
- javadoc注释
/**
- This is a javadoc comment
*/
注意:在 Java 中, /* / 注释不能嵌套。 也就是说,不能简单地把代码用 / 和 */ 括起来作为注释,因为这段代码本身可能也包含一个 */。
注释文档
- Java提供了一种用于提取注释的工具javadoc,它是jdk安装的一部分。它采用了Java编译器的某些技术,查找程序内的特殊注释标签。
- 所有javadoc命令都只能在“/*”注释中出现,并结束于“/”。
- javadoc只能为public和protected成员进行文档注释。private和包内可访问成员的注释会被忽略掉。
- 常用标签
- @see 引用其他类
- @version 版本信息
- @author 作者信息
- @since 指定最早使用版本
- @param 方法参数列表,可以使用多个该标签,每个参数一个
- @return 方法返回值描述
- @throws 方法调用异常描述
- @deprecated 该特性已废弃
编码风格
- 类名使用“大驼峰风格”,首字母大写,多个单词并在一起,每个单词首字母大写。
class AllTheColorsOfTheRainbow { //...
- 字段,方法,对象引用名采用“小驼峰风格”,首字母小写。
int anIntegerRepresentColors;