1.引用操作对象,遥控器(引用)和电视机(对象)。引用可独立存在:
String s;
2.创建对象:new
3.内存分配:1)寄存器:寄存器内部,最快,有限,不受控制,没有迹象;2)堆栈:ram,堆栈指针向下分配内存,向上释放内存,速度仅次于寄存器,需要明确生命周期以移动指针,限制了灵活性,用于保存对象引用;3)堆:ram,存放对象,不需要明确生命周期,灵活性高,清理时间长;4)常量储存:静态储存区,用于储存常量值,字面常量字符串和具有字符串常量表达式;5)非ram储存:数据不受程序控制,程序没有运行时也可以存在,如流对象和持久化对象。
4.基本类型:不用new创建,直接储存“值”,置于堆栈中,高效。需要确定储存空间大小,是可移植性的原因之一。
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
boolean | - | - | - | Boolean |
char | 16 bit | Unicode 0 | Unicode 2^16-1 | Character |
byte | 8 bit | -128 | 127 | Byte |
short | 16 bit | -2^15 | 2^15-1 | Short |
int | 32 bit | -2^31 | 2^31-1 | Integer |
long | 84 bit | -2^63 | 2^63-1 | Long |
float | 32 bit | IEEE754 | IEEE754 | Float |
double | 64 bit | IEEE754 | IEEE754 | Double |
void | - | - | - | Void |
高精度数字:BigInteger和BigDecimal,操作与基本类型相似,不过需要以方法调用。
5.Java不需要手动销毁对象。
{
String s = new String("a.String");
}//End of scope
引用s在域终点消失,但是String对象仍存在,占据内存空间。
6.成员变量默认值:
基本类型 | 默认值 |
boolean | false |
char | "\u0000"(null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
7.方法:返回值 名称 参数 方法体
方法签名:名称+参数 标识方法唯一
方法参数:引用传递
8.Java消除了“向前引用”问题,import:导包,确认类位置,解决类名冲突。
9.static:不创建对象分配单一储存空间(即使创建多个对象也共享一份储存空间),方法不与类建立关联。
10.注释:1)以/*开始,以*/,每一行以*开头,如
/* this is a comment
* that continues
* across lines
*/
2)以//开头,单行注释,更方便实用
11.javadoc:jdk的一部分,用于提取注释的工具,讲代码和注释“链接”在一起,输出是html文件。javadoc只能在/**注释出现,结束于*/。javadoc只为public和protected成员进行文档注释,private和包内可访问成员的注释会被忽略(不过可以用-private进行标记,以便把private成员注释包括在内)。
12.编码风格:驼峰风格,类名的首字母大写,多个单词并在一起,每个单词首字母大写。方法,字段和对象引用名称风格一样,首字母小写。