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

这篇具有很好参考价值的文章主要介绍了Java重写(Override)&重载(Overload)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

重写(Override)概述

重写(Override)讲解

重载(Overload)概述

重载(Override)讲解


重写(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 类中声明了三个方法,它们的名称相同,但是参数类型不同。文章来源地址https://www.toymoban.com/news/detail-407568.html

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!");
    }
}

到了这里,关于Java重写(Override)&重载(Overload)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java面试基础 -- 方法重载 & 方法重写

    目录 重载 重写           方法的重载是指在同一个类中定义多个方法, 他们具有相同的名称, 但是具有不同的参数列表, 例如:         此处我们看到三个不同参数的, 但是具有相同返回值和方法名的方法. 有如下测试案例: 运行结果为:  我们将其中一个myMethod方法的返回值改

    2024年02月12日
    浏览(54)
  • 关于Java中方法重载和方法重写

    方法重写是子类继承父类(默认继承Object类)后覆盖父类的方法 需要保证同名 同参 同返回值 且访问权限范围不能缩小(publicprotecteddefaultprivate) 方法重载是同类中可以有多个同名但参数不同的方法 调用方法的时候可根据传参情况执行对应的方法 需要注意参数不同可以指参数数量

    2023年04月20日
    浏览(53)
  • Java语言中的重写和重载

    重写(override)和重载(overload)是编程语言中的两个常见概念,用于描述函数或方法的特定行为。 重写 指的是在子类中重新定义(覆盖)父类中已经存在的同名方法。重写可以修改或扩展父类的方法实现,使其更适合子类的需求。在重写中,子类方法的名称、参数类型、返

    2024年02月03日
    浏览(47)
  • java八股文面试[java基础]—— 重载 和 重写

      Overload Override Overwrite三者区别:   Java中,有一个名叫方法签名的东西,它的定义是这样的 Definition: Two of the components of a method declaration comprise the method signature—the method’s name and the parameter types. 大概意思是,方法签名有两部分组成——方法名和参数列表 我上面的函数的方法

    2024年02月12日
    浏览(52)
  • Java中方法的重载和重写的区别。

    一、定义上的区别: 1、重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 2、覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实

    2023年04月08日
    浏览(51)
  • Python中重写(override)

    Python中,有重写(override)的概念,但是没有严格意义上的重载(overload)。 类继承时,子类可以重新定义父类中已有的方法,称为重写(Override)。 在Python中,没有像其他语言(如C++)那样的函数重载(Overload)机制。函数重载是指在同一作用域内允许多个函数具有相同的名

    2024年02月02日
    浏览(51)
  • 【JAVA杂货铺】一文带你走进面向对象编程|继承|重载|重写|期末复习系列 | (中4)

    🌈个人主页:  Aileen_0v0 🔥系列专栏 :Java学习系列专栏 💫个人格言:\\\"没有罗马,那就自己创造罗马~\\\"   目录 继承  私有成员变量在继承中的使用​编辑  当子类和父类变量不重名时: 当子类和父类重名时:  📝总结: 继承的含义: toString方法的作用:  重写和重载的区别 对比狗和

    2024年02月05日
    浏览(58)
  • 重载和重写有什么区别

    重载和重写是Java中两个重要的概念。重载可以实现本类内的方法多态性,重写可以实现子类或实现类的多态性。 一、重载 在自然语言中,经常会出现“一词多义”的现象。比如:“墨水”,它可以指一种含有色素或染料的液体,墨水被用于书写或绘画;还可以指人的文化、

    2023年04月08日
    浏览(50)
  • Unity中的重载和重写

    重载:(两个必须一个可以) 参数名必须相同 参数列表必须不同 返回值类型可以不同 代码示例: 结果: 重写:(三个必须) 函数名必须相同 参数列表必须相同 返回值类型必须相同 代码示例: 父类 子类继承父类 结果: 多态、封装、继承的位置不同,重载在同一定义域

    2024年02月11日
    浏览(39)
  • Go语言支持重载吗?如何实现重写?

    Go语言不支持传统意义上的函数和方法重载。在Go语言中,函数名或方法名不能相同但参数列表不同,因为这会导致编译错误。 然而,可以通过方法重写(override)来实现类似的功能。方法重写是指在子类中定义一个与父类同名的方法,从而覆盖父类中的方法。 下面是一个简

    2024年04月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包