一、创建对象的方式
1、new 语句 (会调用构造方法)
2、反射 (会调用构造方法)
3、clone (不会调用构造方法)
4、反序列化 (调用无参的构造函数)
二、构造方法
不能修饰的关键字:static、final、synchronized、abstract、native
不能有返回值,如果有返回值就成了一般成员函数。
构造函数中调用 this()、super() 必须放在第一条。
将构造函数设为private有两个效果:
(1)、别的类不能new 一个对象
(2)、因为构造函数已经私有,所以该类不可继承. (相当于将类设成了final)
三、垃圾回收
System.gc() 或者 Runtime.gc() 不能保证被回收