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代码。