Java基础——方法的重载和重写

文章目录

  • 方法重载
  • 方法重写

方法重载

同一类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可,该同名方法被称为方法重载。

特点:与返回值类型无关,只看参数列表,且参数列表必须不同(参数个数或参数类型)。

示例:

class Person{
    public String get(String name){}
    public int get(String name, int age){}
}

方法重写

继承(extends)中,子类可以根据需要对从父类中继承来的方法进行改造,也称为方法的重置、覆盖或重写。在程序执行时,子类的方法将覆盖父类的方法。

重写的要求:

  • 方法名和参数列表:子类重写的方法的名称、参数列表必须和父类被重写的方法相同。
  • 返回值类型:子类重写的方法的返回值类型不能大于父类被重写的方法的返回值类型。
  • 访问权限:子类重写的方法使用的访问权限修饰符不能小于父类被重写的方法的访问权限。
  • 抛出异常:子类方法抛出的异常不能大于父类被重写方法的异常。

示例:

public class Animal {
    public void sleep() {
        System.out.println("冬眠");
    }
}

public class Person extends Animal{
    @Override
    public void sleep() {
        System.out.println("晚安");
    }
}

注意:

  • 子类与父类中同名同参数的方法必须同时声明为非static(重写),或者同时声明为static(不是重写),因为static方法是属于类的,子类无法覆盖父类的方法。
  • 同名的成员变量之间没有重写(不会覆盖)!!!编译时什么类型,调用的成员变量就是编译时指定类型的成员变量(多态)。

你可能感兴趣的:(Java基础(完善中),java,开发语言)