1、Java程序初始化的顺序
简单的说,就是父类优先于子类,静态优先于非静态
在初始化一个类的时候,会先初始化完全部的静态变量和静态代码块后再去初始化非静态的。
例子:父类静态变量->父类静态代码块->子类静态变量->子类静态代码块->父类非静态变量->父类非静态代码块->父类构造方法->子类非静态变量->子类非静态代码块->子类构造方法
2、构造方法
构造方法必须与类名相同,不可以有返回值包括void。
构造方法可以有任意个,如果是0个编译器会默认加上一个无参的构造方法
构造方法不可被继承,但是可以被重载,子类可以通过super<休钋>来显示的调用父类的构造方法。
普通的方法可以与构造方法同名。
3、Java中clone方法的作用
clone是对类的拷贝,如果要使用clone()方法,那么该类就必须要实现Cloneable接口的clone()方法,如果拷贝的类中还有对象,那么还需要对拷贝类中的对象在进行clone。
在java中clone只会对类中的基本类型进行拷贝,类中的对象不会进行拷贝,java中的clone拷贝会把
(浅拷贝只会对变量进行拷贝,但是变量的指针对应的位置还是相同的,深拷贝会将指针对应的变量重新分配内存空间)



