Java重写(Override)&重载(Overload)

举报
久绊A 发表于 2023/08/11 15:03:27 2023/08/11
【摘要】 重写(Override)概述Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。重写(Override)讲解定义一个名为 Animal 的父类和一个名为 Cat 的子类,其中 Cat 类继承了 Animal 类。Animal 类中有一个名为 move() 的方法,Cat 类可以对这个方法进行...

重写(Override)概述

Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。

重写(Override)讲解

定义一个名为 Animal 的父类和一个名为 Cat 的子类,其中 Cat 类继承了 Animal 类。Animal 类中有一个名为 move() 的方法,Cat 类可以对这个方法进行重写。

Animal 类中的 move() 方法不是private 类型,因此它可以被其子类重写。在 Cat 类中,使用相同的名称和参数列表来重新定义了 move() 方法,并且使用 @Override 注解向编译器说明这是一个重写方法。

class Animal {
    public void move() {
        System.out.println("动物可以移动");
    }
}

class Cat extends Animal {
    public void move() {
        System.out.println("猫可以走和跑");
    }
}
public class Test {
    public static void main(String[] args) {
        Animal a = new Animal(); // Animal 对象
        Animal b = new Cat(); // Cat 对象

        a.move(); // 执行 Animal 类的方法
        b.move(); // 执行 Cat 类的方法
    }
}

重载(Overload)概述

Java 面向对象中的重载(Overload)指的是在同一个类中声明多个方法,它们拥有相同的名称,但是参数类型或数量不同。这样做的目的是为了提高代码的复用性和可读性。

重载(Override)讲解

这段代码展示了如何在同一个类中使用方法重载的方式来实现不同类型的处理,在 OverloadDemo 类中声明了三个方法,它们的名称相同,但是参数类型不同。

public class OverloadDemo {
    public void print(int n) {
        System.out.println("Print integer: " + n);
    }

    public void print(double d) {
        System.out.println("Print double: " + d);
    }

    public void print(String s) {
        System.out.println("Print string: " + s);
    }

    public static void main(String[] args) {
        OverloadDemo demo = new OverloadDemo();
        demo.print(123);
        demo.print(3.14);
        demo.print("Hello, world!");
    }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。