构造函数(1):
构造函数(2):
--Java构造函数的名称必须和类名一样,且没有返回值。但是可以用public或者private修饰。
--Java有构造函数,但是没有析构函数(C++中有)。
注意:构造函数是在内存中开辟一个空间存储数据;析构函数是将一个数据对象清空。
--每个变量都是有生命周期的,它只能存储在离他最近的一对{}中。
--当变量被创建时,变量将占据内存;当变量消亡时,系统将回收内存。
构造函数(3):
--Java具有内存自动回收机制的,当变量退出其生命周期后,JVM会自动回收所分配的对象的内存。所以不需要析构函数来释放内存。
--对象回收效率依赖于垃圾回收器GC(Garbage Collector),其回收算法关系到性能好坏,是JVM的研究热点。
构造函数(4):
--每个Java类都有且必须有构造函数。
--如果没有显式定义构造函数,Java编译器自动为该类产生一个空的无 形参构造函数。如果已经有了显式的有参构造函数,编译器就不会越俎代庖了。
--每个子类的构造函数的第一句话,都默认调用父类的无参数构造函数super(),除非子类的构造函数第一句话是super,而且super语句必须放在第一条。
构造函数(5):
--一个类可以有多个构造函数,只要形参列表不相同即可。
--在new对象的时候,根据实参的不同,自动挑选相应的构造函数。如果实参形参匹配不上,将会报错。