Thinking in Java 第二章“一切都是对象”要点总结

1.引用:遥控器和电视机。带着遥控器就可以操作电视机,不用一直带着电视机这个物品。有遥控器也可能没有电视机。

2.存储

基本变量是存在于堆栈中,而不是堆中

3.创建一个数组对象就是创建了一个引用数组。自动初始化未null(没有指向任何对象)。

 

4.作用域

作用域外,引用s会消失,但是new出来的对象并不会小时。java的垃圾回收机制会保证内存不会溢出。

5.域(field)和方法(method)

域:数据成员                  方法:成员函数

6.return关键字代表  1:做完了,2:返回某值

7.static关键字

static关键字修饰的数据或方法不会与包含其类的对象纠缠在一起。

非static方法必须知道和他们一起运作的特定对象。

static域对一个类只有一个存储空间,而非static域对每个对象都有一份存储空间。

例如:System是个类。out是个静态的PrintStream对象,所以可以直接使用System.out.println(“I love Java”);

至于为什么out在System里面的定时是out=null:利用JNI的registerNatives函数去执行底层的C代码。