1、用引用操纵对象 尽管一切都看作对象,但操纵的标识符实际上是对象的一个“引用” reference 可以看成用摇控器(引用)操纵电视机(对象)
即使没有电视机,遥控器也可以单独存在 例如:String s; 这里只是引用不是对象,此时向S发送一个消息,会返回一个运行时错误 因为S沒与任何事物关联(没有电视机) 所以创建一个引用的同时要进行初始化 String s="abc";
2,基本类型 New将对象存储在堆里,但基本类型不用new创建变量,而是创建并非引用的自动变量 这些变量直接存储值,所以要确定每种基本类型所占存储空间大小
高精度数字 BigDecimal BigInteger 用运行速及换取精度
3、对象的作用域 new创建的Java对象可以存活于作用域之外 引用s在作用域终点消失,但S指向的String对象仍占用空间,但我们无法在这个域之后访问这个对象
类的某个成只是基本数据类型,即使没有初始区,也有默认值(局部变量不会初始化)
- static关键字 4.1只想为某特定区域分配单一存储空间。不用考虑究竟要创建多少对象,甚至根本不用创建任何对象 4.2即使没有创建对象也能调用方法
Class StaticTest { static int i = 47; }
创建了两个该对象 i也只有1个存储空间
System.out.println(new Date( ) ) 这条语句执行完毕后 Date对象就不再被使用,垃圾回收会发现