构造方法
定义:构造方法主要用来创建类的实例化对象,可以完成对实例化对象的初始化工作,格式:修饰符 类名(与类名相同) (参数列表);
修饰符:public ,private ,protected
特点:
1.必须与类名一致。
2.没有任何返回值,无需加入任何关键字。
3.任何类都有构造方法,如果没有自定义构造方法系统会自己添加个不含参数的构造方法。如果定义了构造方法系统就不会创建这个构造方法了。
建议:为了避免在调用时出现的问题,在创建构造方法时先定义一个不含参数的构造方法
this关键字
定义:一个引用类型,存在堆中的每一个对象身上都有this,this保存的地址指向自身。
用法:
1:可以用在成员方法和构造方法中。
2:区分成员变量和局部变量。
3:调用成员方法,谁调用this就指向谁。
static关键字
一:修饰变量的变量是静态变量
1:静态变量在方法区存储。
静态变量在类加载阶段赋值,只赋值1次。
静态变量所有的对象共享静态变量,既可以使用“类名.”方式调用也可以使用“引用.”访问。
静态变量的底层访问都是使用类名.的方式访问。
2:修饰方法的方法是静态方法。
静态方法不能使用this关键字。和成员方法不同的是,静态方法不用创建(new)对象也可以调用。静态方法既可以用“类名.”的方法调用也可以用“引用.”调用。
”block{}局部代码块“和“static{}静态代码块”
static{}语句块代码在类加载的阶段就会自上而下的执行,只执行一次。例:
static{
System.out.println();
}
用在方法中,是一个局部代码块。当一个变量的使用周期较短可以将其定义在代码块中较为节省内存,执行结束后就清空。
block{}语句块
垃圾回收机制,System.gc();finalize();
Java存在垃圾回收机制,虚拟机会定期清理程序。当想要通知JVM清理时可以通过System.gc();执行清理,但可能不会立即执行。
finalize();当JVM准备回收时会优先调用finalize();