方法重载 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