方法重载 1
是在类的同一种功能的多种实现方式,到底采用哪种方式取决于调用者给出的参数。
注意事项
1、方法名相同
2、方法的参数类型、个数、顺序、至少有一项不同
3、方法的返回类型可以不同
4、方法的修饰符可以不同
5、如果只是返回类型或控制访问修饰符不一样,是不构成重载的,那我们就说这个方法覆盖了父类的那个方法。
//此getMax方法被重载 class Demo1 { public int getMax(int i, int j) { } public float getMax(float i, float j) { } public float getMax(float i, float j, float k) { } }
//此getMax方法被子类重载 class Demo1 { public int getMax(int i, int j) { } } class Demo2 extends Demo1 { public int getMax(int i, int j, int k) { } }
方法的覆盖(重写)
子类有一个方法和父类的某个方法的名称、返回类型、参数一样
注意事项
1、子类的方法返回类型、参数、方法名、要和父类的完全一样,否则编译出错。
2、子类方法不能缩小父类方法的访问权限。
//此getMax方法被子类覆盖 class Demo1 { public int getMax(int i, int j) { } } class Demo2 extends Demo1 { public int getMax(int i, int j) { } } class Demo3 extends Demo1 { public int getMax(int i, int j) { } }
来源:https://www.cnblogs.com/bbooxx/archive/2013/04/22/3035554.html