iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >Java重写,重载,多态怎么定义使用
  • 790
分享到

Java重写,重载,多态怎么定义使用

2024-04-02 19:04:59 790人浏览 薄情痞子
摘要

本篇内容主要讲解“Java重写,重载,多态怎么定义使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java重写,重载,多态怎么定义使用”吧! 1.重写:

本篇内容主要讲解“Java重写,重载,多态怎么定义使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java重写,重载,多态怎么定义使用”吧!

1.重写:

a.定义:

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例子:

class Animal{

public void move(){

System.out.println("动物可以移动");

} }

class Dog extends Animal{

public void move(){

System.out.println("狗可以跑和走");

} }

然后我们引用:

Animal a = new Animal(); // Animal 对象

Animal b = new Dog(); // Dog 对象

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

b.move();//执行 Dog 类的方法 

输出为:

动物可以移动
狗可以跑和走

在上面的例子中可以看到,尽管 b 属于 Animal 类型,但是它运行的是 Dog 类的 move方法(我们重写的方法)

这是由于在编译阶段,只是检查参数的引用类型。

然而在运行时,Java 虚拟机(JVM)指定对象的类型并且运行该对象的方法。

因此在上面的例子中,之所以能编译成功,是因为 Animal 类中存在 move 方法,然而运行时,运行的是特定对象的方法。

b.规则:

1.参数列表必须完全与被重写方法的相同。

2.返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类。

3.访问权限不能比父类中被重写的方法的访问权限更低。

4.父类的成员方法只能被它的子类重写。如果在同一包里的子类可以重写所有的父类方法,除了声明为 private 和 final 的方法。

5.声明为 final 的方法不能被重写,而static 的方法不能被重写,但是能够被再次声明。

6.子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。

7.重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。

2.重载:

c++差不多的意思。

重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

最常用的地方就是构造器的重载。

与重写的不同之处就是重载着重于不同的参数。

3.多态:

a.定义:

多态是同一个行为具有多个不同表现形式或形态的能力。多态就是同一个接口,使用不同的实例而执行不同操作。

学好多态这个概念对应用好接口很重要。

多态的存在的三个必要条件:

1.继承

2.重写

3.父类引用指向子类对象

比如说这个例子,是把一个父类的引用指向了一个子类的对象:

Parent p = new Child();

注意:使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

b.虚函数:

虚函数是多态的基础之一,当然JAVA所有的函数默认都是C++意义上的虚函数所以不用特别去注意,因为动态绑定是Java的默认行为。

如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数。

到此,相信大家对“Java重写,重载,多态怎么定义使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Java重写,重载,多态怎么定义使用

本文链接: https://www.lsjlt.com/news/91421.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java重写,重载,多态怎么定义使用
    本篇内容主要讲解“Java重写,重载,多态怎么定义使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java重写,重载,多态怎么定义使用”吧! 1.重写: ...
    99+
    2024-04-02
  • C++之重载 重定义与重写用法详解
    目录一、重载(重载函数)1、代码实现在一个类中fun()函数的重载:2、运行程序之后的打印二、重定义(函数同名隐藏)1、代码实现在两个类中分别定义一个函数(函数名要求相同):2、运行...
    99+
    2024-04-02
  • 重写、覆盖、重载、多态区别是什么
    今天小编给大家分享一下重写、覆盖、重载、多态区别是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。override->...
    99+
    2023-06-27
  • C++函数重载怎么定义使用
    这篇文章主要介绍了C++函数重载怎么定义使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++函数重载怎么定义使用文章都会有所收获,下面我们一起来看看吧。一、函数重载分析(上)1.1 重载的定义定义:同一个标...
    99+
    2023-06-30
  • C++ 函数重载和重写中多态性的体现
    c++++ 中的多态性:函数重载允许具有相同名称但不同参数列表的多个函数,根据调用时的参数类型选择执行的函数。函数重写允许派生类重新定义基类中已存在的方法,从而实现不同类型的行为,具体取...
    99+
    2024-04-20
    函数重载 函数重写 c++
  • C#重载运算符怎么定义
    本文小编为大家详细介绍“C#重载运算符怎么定义”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#重载运算符怎么定义”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。C# 运算符重载您可以重定义或重载 C#...
    99+
    2023-06-17
  • Java构造方法的定义和重载
    本篇内容介绍了“Java构造方法的定义和重载”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一、构造方法的定义(一)什么构造方法实...
    99+
    2023-06-15
  • 多态的深层含义:了解 ASP 中方法重写和动态绑定的作用
    多态性的含义 多态性源自希腊语,意为“多形式”。它是一个面向对象编程的概念,允许对象根据其类型做出不同的响应。在 ASP.NET 中,多态性主要通过方法重写和动态绑定来实现。 方法重写 方法重写允许子类覆盖其父类中的方法。这使派生类能够...
    99+
    2024-03-04
    C# ASP.NET 多态性 方法重写 动态绑定
  • C++ 函数重载和重写中的虚函数与动态绑定
    函数重载和重写:函数重载允许在同一类中创建具有不同参数列表的同名函数,而函数重写是在继承关系中用子类覆盖基类的同名函数。虚函数和动态绑定:虚函数允许子类以自己的方式实现父类方法,并在函数...
    99+
    2024-04-20
    函数重载 虚函数 c++
  • JAVA继承、构造方法、重写和重载方法怎么用
    本文小编为大家详细介绍“JAVA继承、构造方法、重写和重载方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“JAVA继承、构造方法、重写和重载方法怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。构造方...
    99+
    2023-06-30
  • Java方法method的定义、调用及重载方法
    这篇文章主要介绍“Java方法method的定义、调用及重载方法”,在日常操作中,相信很多人在Java方法method的定义、调用及重载方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java方法metho...
    99+
    2023-06-30
  • python中的类class: 继承、覆盖、重写、重载、扩展、多态、封装
    一、python中的类 使用 class 关键字创建类。类中有方法、属性。 1.1 __init__() 函数 类的内置 __init__() 函数。所有类都有一个名为 __init__() 的函数,它在启动类时执行。 使用 __init_...
    99+
    2023-09-14
    python class类
  • 详解Java方法method的定义与调用及重载
    目录方法的定义和调用什么是方法方法的声明格式方法的调用方式方法的详细说明总结方法的重载什么是方法重载构成方法重载的条件总结方法的定义和调用 什么是方法 方法(method)就是一段用...
    99+
    2024-04-02
  • Java和JVM的重载和重写方法是什么
    本文小编为大家详细介绍“Java和JVM的重载和重写方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java和JVM的重载和重写方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.案例void&...
    99+
    2023-06-28
  • java方法的重写和重载有什么区别
    Java方法的重写(Override)和重载(Overload)是两个不同的概念。重写是指在子类中重新定义父类中已有的方法,方法名、...
    99+
    2023-08-11
    java
  • Java中 equals 重写时为什么一定也要重写 hashCode
    目录1.equals 方法2.hashCode 方法2.1 hashCode 使用3.为什么要一起重写?3.1 Set 正常使用3.2 Set 集合的“异常”...
    99+
    2024-04-02
  • C++ 函数重载和重写的理解和使用
    c++++ 中函数重载允许在同一类中定义同名函数,但参数列表不同;函数重写发生在子类中定义一个与父类同名且参数相同的函数,子类函数将覆盖父类函数。实战示例中,重载函数用于针对不同数据类型...
    99+
    2024-04-20
    函数重载 函数重写 c++
  • Java 重入锁和读写锁怎么使用
    这篇文章主要介绍“Java 重入锁和读写锁怎么使用”,在日常操作中,相信很多人在Java 重入锁和读写锁怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java 重入锁和读写锁怎么使用”的疑惑有所帮助!...
    99+
    2023-06-08
  • Nginx中URL重写和重定向怎么实现
    在Nginx中,URL重写和重定向可以通过配置location指令来实现。下面是一些常见的用法: URL重写:URL重写是指将请求...
    99+
    2024-04-02
  • Python类中怎么定义多个构造器方法重载与泛方法
    这篇文章主要介绍“Python类中怎么定义多个构造器方法重载与泛方法”,在日常操作中,相信很多人在Python类中怎么定义多个构造器方法重载与泛方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python类...
    99+
    2023-07-05
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作