重写与重载的区别有哪些?
方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同(子类重写父类的方法)
方法的重写,不能发生在同类中,只能发生在子类中。
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。
需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。
方法重写的权限:子类中的权限大于或等于父类的权限,(修饰符高低:private < 默认修饰符<protected < public)
特殊情况:子类不能重写父类被声明为private权限的方法
重写和重载是Java语言中的两个重要概念,它们都涉及到函数的定义和使用。
需要注意的细节有:
以下是一个重载的例子:
public class MathUtils {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
}
需要注意的细节有:
以下是一个重写的例子:
public class Animal {
public void move() {
System.out.println("Animal moves.");
}
}
public class Dog extends Animal {
@Override
public void move() {
System.out.println("Dog runs.");
}
}
当调用Dog
的move()
方法时,会输出Dog runs.
总结: 重载是一个类中定义多个同名但参数列表不同的函数,重写是子类实现一个与父类同名参数列表相同但实现不同的方法。在Java中,重载和重写是实现多态的两个基本手段。在使用重载和重写时,需要注意方法参数、返回值、访问修饰符和异常等细节,以确保正确地实现多态。
。你是不是发错这里了,应该是给自己记录的