方法的重载:
1.方法的重载是实现多态的一种方法。
2.重载是指同一个类中具有相同名称的多个方法,这多个同名方法如果参数个数不同或者是参数个数相同类型不同,则这些同名的方法就具有不同的功能。(两同一不同:类,方法名同;形参列表不同。)
构造器的功能:
1.创建对象 2.给创建的对象赋值(初始化)
构造方法是用于在一个对象被创建时就完成所有的初始化工作;
构造方法是一种特殊的方法,它是在对象被创建时初始化对象的方法。
构造方法的名称必须与他所在的类名完全相同。
构造器没有返回值,构造方法名前不能用void来修饰。因为一个类的构造方法的返回值类型是该类本身。
构造方法一般不能由编程人员显式的调用,而是用new来调用。
在创建一个类的对象的同时,系统会自动调用该类的构造方法为新对象初始化;
构造器声明的格式: 权限修饰符 类名(形参) { }
例如: public person(){ }
构造器必须声明在首行;
若一个类中有n个构造器,那么最多有n-1个构造器中使用 this (形参)
默认构造器:
如果省略构造方法,Java编译器会自动为该类生成一个默认的构造方法;一旦用户为该类定义了构造方法,系统就不能再提供默认的构造方法。
this的理解:
1.可以用来修饰属性和方法,构造器。
2.this可以理解为当前对象或当前正在创建的对象。
3.可以在构造器中通过this (形参)的方式显式的 调用本类中的构造器。
静态成员:
static称为静态修饰符,他可以修饰类中的成员。被static修饰的称为静态成员,也称类成员;不用static修饰的成员称为实列成员。
各个成员变量之间相互独立,且存在于不同的内存中,若改变其中一个的值,其他成员变量并不受影响,具有此特性的成员变量,在Java中称为实列变量。
静态变量是属于类的变量而不属于任何一个类的具体对象。静态变量不需要实例化就可以使用,也可以通过实列对象来访问静态变量。
使用格式: 类名.静态变量; 对象名.静态变量名;
静态方法:
用static修饰的方法是属于类的静态方法。静态方法属于整个类的方法,不加static的方法是属于某个对象的方法。
(1)非static的方法属于某个对象的方法,static的方法属于整个类的,它在内存中的代码块被所有对象公用。
(2)static方法不能直接操纵和处理属于某个对象的成员,不能直接访问实列变量和实列方法。虽然不能直接去访问,但是可以通过创建对象的方法简接的去访问非静态成员。
(3)静态方法中不能用this 和 super。因为this是代表调用该方法的对象,静态方法不需要对象来调用,所以this不应存在于静态方法内部。
对于静态方法的调用,建议采用 类名 ,静态方法名();
构造方法和静态初始化器的不同;
1.构造方法是对每个新创建的对象进行初始化,而静态初始化是对类自身进行初始化。
2.构造方法是在用new运算符创建对象时系统自动执行,静态初始化器是在所属的类被加载入内存时由系统调用执行。
3.用new运算符创建多少个对象,就调用多少次构造器,静态初始化器在类加载入内存是执行一次,与创建多少个对象无关。
4.静态初始化器不是方法,没有方法名,返回值和参数。
Java语言中的垃圾回收:
1.它把程序员从复杂的内存追踪,监测,释放等工作解放出来
2.它防止了系统内存被非法释放,从而使系统更加稳定。
垃圾回收的特点:
1.只有当一个对象不被任何引用类型的变量使用时,它占用的内存才可能被垃圾回收器回收。
2.不能通过程序强迫垃圾回收器立即执行;
3.当垃圾回收器将要释放无用对象的占用的内存时,先调用该对象的finalize()方法;