重载和重写的区别

重载

在同一个类中定义多个同名方法,

  • 但参数列表不同(参数类型、参数个数或参数顺序不同)
  • 返回值类型不同。
public class MathOperations {
    int add(int a, int b) {
        return a + b;
    }
    double add(double a, double b) {
        return a + b;
    }
}

重写

子类重新定义父类中已有的方法。

  • 方法名、参数列表和返回类型必须与父类方法相同。
public class MathOperationsSon extends MathOperations{
    @Override
    double add(double a, double b) {
        return (a+b)*2;
    }

    @Override
    int add(int a, int b) {
        return (a+b)*3;
    }
}

你可能感兴趣的:(八股文,java,数据结构,开发语言)