类的对象(1):
--最简单的类class A{} //没有任何属性和行为
--对象 A obj = new A();
--类是定义,是规范,是“死”的东西
--对象是实例,是类的一个实现,是一个具体的东西
--打个比方:类等价于一个土豆丝菜谱,对象是根据类制作处的对象,等价于一盘土豆丝
类和对象(2):
A obj1 = new A(); A obj2 = new A();
以上有2个对象,它们的类型都是A,但是这是两个不同的对象,在内存中有不同的存放地址。因此,没有两个对象是完全一样的。
类和对象(3):
A obj = new A();
--obj可以看作是内存中一个对象(包括若干个数据)的句柄
--在C/C++中,obj称为指针,在Java中称为Reference
--对象赋值是Reference赋值,而基本类型是直接值拷贝
--参看例子ReferenceTest.java和ArgumentPassingTest.java,来查看基本类型赋值和普通对象赋值的不同
类和对象(4):
--产生一个对象, A obj = new A();
99%的情况是用new关键字,还有1%是用克隆和反射生成
--new出对象后,内部属性值默认是?
(1)short 0 int 0 long 0L
(2)boolean false
(3)char '\u0000'
(4)byte 0
(5)float 0.0f
(6)double 0.0d
类和对象(5):
总结:
--类是规范,对象是根据规范产生出的实例
--基本型别赋值是拷贝赋值,对象赋值是reference赋值
--类成员变量有初值,函数临时变量必须初始化(如果要用到的话)