JAVA重写(override)与重载(overload),通俗易懂

  • Post author:
  • Post category:java



目录


重写(override)


重写特点(一同两小一大)


重载(overload)


重写与重载区别


重写(override)

下面直接给出代码实例,简单易于理解

public class Cat extends Animal {
​
    @Override
    public void eat() {
        System.out.println("小猫吃鱼");
    }
}
​
​
public class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("小狗吃骨头");
    }
}
​
​
public class Animal {
    public void eat() {
        System.out.println("吃东西");
    }
}
​
​
​
public class Test {
    public static void main(String[] args) {
​
        Dog dog = new Dog();
        dog.eat();
​
        Cat cat = new Cat();
        cat.eat();
    }
}
​
--------------------------------------------------
小狗吃骨头
小猫吃鱼


重写特点(一同两小一大)

  • 重写发生在子类和父类之间

  • 方法名相同,形参也要相同

  • 子类的返回类型和父类一致或者比他小

  • 子类抛出的异常必须和父类一致或者比他小(建议)

  • 子类的访问权限比父类的访问权限更大或相等

重载(overload)

就是在同一个类中,方法名相同,形参不同

public class Student{

  public void write(int m){
}
  public void write(String str){
}

}


重写与重载区别

重载与重写本身一点关系都没有

  • 方法重载:overload

重载:解决了同一个类中,相同方法名不同的问题(两同一不同)

  • 方法重写:override

重写:解决了子类继承父类,父类方法满足不了子类方法的要求,需要在子类中重写该方法(一同两小一大)

创作不易,如有帮助请点个赞吧!



版权声明:本文为weixin_51764558原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。