类和对象
构造器:也叫构造方法(constructor),用于对象的初始化
1.通过new关键字调用;
2.构造器虽然有返回值,但是不能定义返回值类型(返回值的类型肯定是本类),不能在构造器里使用return返回某个值;
3.如果我们没有定义构造器,则编译器会自动定义一个无参的构造函数。如果已定义则编译器不会自动添加;
4.构造器的方法名必须和类名一致
垃圾回收机制:通用的分代垃圾回收机制
年轻代
年老代
持久贷
this
this的本质就是“创建好的对象的地址”,由于在构造方法调用前,对象已经创建,因此,在构造方法中也可以使用this代表“当前对象”
this最常的用法:
1.在程序中产生二义性之处,应使用this来指明当前对象;普通方法中,this中总是指向调用该方法的对象。在构造方法中,this总是指向正要初始化的对象;
2.使用this关键字调用重载的构造方法,避免相同的初始化代码。但只能在构造方法中用,并且必须位于构造方法第一句;
3.this不能用于static方法中;(因为static方法存放在方法区)
static(static修饰的成员变量和方法,从属于类。普通变量和方法从属于对象)
在类中,用static声明的成员变量为静态成员变量,也称为“类变量”。类变量的声明周期和类相同,在整个应用程序执行期间都有效
静态初始化块
构造方法用于对象的初始化;静态初始化块用于类的初始化,在静态初始化块中不能直接访问非static成员。
1.上溯到Object类,想执行Object的静态初始化块,在向下执行子类的静态初始化块,知道我们的类的静态初始化块为止;
2.构造方法执行顺序和上面的顺序一样。