多态性是面向对象程序设计的重要特性之一。多态性分为两种:静态多态和动态多态。方法重载用于事项静态多态性。重载方法:对于类的方法,如果有两个方法的方法名相同,但参数不一致,那么可以说,一个方法是另一个方法的重载方法。重载方法必须满足以下条件:(只记住前两条就可以)1.方法名必须相同;
2.方法的参数类型、个数至少有一项不同;
3.方法的返回类型可以不同;
4.方法的修饰符可以不相同。只有对不同的数据完成基本相同的任务的方法才用方法重载,使用方法重载的优点是:1.不必对相同的操作使用不同的方法名;
2.有助于更轻松的理解和调试代码;
3.更易于维护代码。构造方法必须满足以下语法规则:
1.方法名必须与类名相同;
2.不要声明返回类型。当类中没有定义构造方法时将使用默认的构造方法。this关键字-----this是一个引用,该引用始终指向程序对象本身。this的作用:1.区分变量;
2.调用重载的构造方法。用this语句来调用其它的构造方法时,必须遵守以下语句规则:
假如在一个构造方法中使用了this语句,那么他必须作为构造方法的第一条语句(注释的语句除外);只能在一个构造方法中用this语句来调用类的其它的构造方法,而不能在实力方法中用this语句来调用类的构造方法;只能用this语句来调用其它构造方法,而不能通过方法名来直接调用构造方法。
static关键字-----用static修饰的成员变量表示静态变量,可以直接通过类名来访问;用static修饰的成员方法表示静态方法,可以直接通过类名来访问;用static修饰的程序代码块表示静态代码块,当java虚拟机加载类时就会执行该代码块。
被static所修饰的成员变量和成员方法表明该成员归某个类所有,它不依赖于类的特定实例,被类的所有实例所共享。静态变量和实例变量的区别如下:
静态变量在内存中只有一个拷贝,运行时java虚拟机只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配。
可以直接通过类名访问静态变量,也可以通过实例来访问静态变量。
对于实例变量,每创建一个实例,就会为实例变量分配一次内存,实例变量可以在内存中有好几个拷贝,每个拷贝属于特定的实例,互不影响。
静态方法可以访问的内容:因为静态方法不需要通过它所属的类的任何实例就会被调用,因此在静态方法中不能使用this关键字,也不能直接访问所属类的实例变量和实例方法,但是可以直接访问所属类的静态变量和静态方法。
实例方法可以访问的内容:如果一个方法没有被static修饰,那么它就是实例方法,在实例方法中可以直接访问所属类的静态变量、静态方法、实例变量和实例方法。
static代码块-----在java虚拟机加载类时就会执行这些静态代码块(即先于main方法被执行),如果在类中包括多个静态代码块,那么java虚拟机将按照它们在类中出现的先后顺序执行它们,每个静态代码块只会执行一次。