在java中重载和重写的区别_简述java线程生命周期

在java中重载和重写的区别_简述java线程生命周期重写(Overriding) 重载(Overloading) 类的数量 父子类、接口与实现类 本类 方法名称 一致 一致 参数列表 一定不能修改 必须修…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

重写(Overriding

重载(Overloading

类的数量

父子类、接口与实现类

本类

方法名称

一致

一致

参数列表

一定不能修改

必须修改

返回类型

一定不能修改

可以修改

异常

可以减少或删除,但不能扩展

可以修改

重载(Overloading

重载发生在本类,方法名相同,参数列表不同,与返回值无关,只和方法名,参数列表,参数的类型有关.

重载(Overload):首先是位于一个类之中或者其子类中,具有相同的方法名,但是方法的参数不同,返回值类型可以相同也可以不同。

(1):方法名必须相同

(2):方法的参数列表一定不一样。

(3):访问修饰符和返回值类型可以相同也可以不同。

其实简单而言:重载就是对于不同的情况写不同的方法。 比如,同一个类中,写不同的构造函数用于初始化不同的参数。

public class Test1 {
    public void out(){
        System.out.println("参数"+null);
    }
    //参数数目不同
    public void out(Integer n){
        System.out.println("参数"+n.getClass().getName());
    }

    //参数类型不同
    public void out(String string){
        System.out.println("参数"+string.getClass().getName());
    }

    public void out(Integer n ,String string){
        System.out.println("参数"+n.getClass().getName()+","+string.getClass().getName());
    }
    //参数顺序不同
    public void out(String string,Integer n){
        System.out.println("参数"+string.getClass().getName()+","+n.getClass().getName());
    }
    
    public static void main(String[] args) {
        Test1 test1 = new Test1();
        test1.out();
        test1.out(1);
        test1.out("string");
        test1.out(1,"string");
        test1.out("string",1);
    }
}

 在java中重载和重写的区别_简述java线程生命周期

重写(Overriding

重写发生在父类子类之间,比如所有类都是继承与Object类的,Object类中本身就有equals,hashcode,toString方法等.在任意子类中定义了重名和同样的参数列表就构成方法重写.

重写(override):一般都是表示子类和父类之间的关系,其主要的特征是:方法名相同,参数相同,但是具体的实现不同。

重写的特征:

(1):方法名必须相同,返回值类型必须相同

(2):参数列表必须相同

(3):访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。

(4):子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。

(5):构造方法不能被重写,

简单而言:就是具体的实现类对于父类的该方法实现不满意,需要自己在写一个满足于自己要求的方法。

class Test{
    public void out(){
        System.out.println("我是父类方法");
    }
}

public class Test1 extends Test{
    @Override
    //方法签名完全一致
    public void out() {
        System.out.println("我是重写后的子类方法");
    }

    public static void main(String[] args) {
        Test test = new Test();
        test.out();
        test = new  Test1();
        test.out();
    }
}

在java中重载和重写的区别_简述java线程生命周期

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197311.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月6日 下午1:15
下一篇 2025年9月6日 下午1:43


相关推荐

  • dom4j解析xml字符串

    dom4j解析xml字符串与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml。dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器。先来看看dom4j中对应XML的DOM树建立的继承关系针对于XML标准定义,对应于图2-1列出的内容,do

    2022年6月21日
    40
  • idea2020.2.1激活码【2021免费激活】

    (idea2020.2.1激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html3MRUAPM31O-eyJsaWNlbnNlSW…

    2022年3月29日
    581
  • 数据结构哈希表例题_数据结构哈希算法

    数据结构哈希表例题_数据结构哈希算法各类介绍:各类实战代码如下:(包括五种,自己可以逐个测试)#include “pch.h”#include <iostream>using namespace std;//折半查找int BinarySearchFunc(int key, int a[], int n){ int low, mid, high; //查找标记 int count …

    2022年8月18日
    8
  • 超级详细的IntelliJIDEA安装教程

    超级详细的IntelliJIDEA安装教程文末提供下载方式第一步 官网下载 IDEA 地址 https www jetbrains com idea download other html 第二步 卸载旧的 IDEA 没有则跳过 打开电脑上的控制面板 gt 程序 gt 程序和功能 找到旧版 IDEA 卸载时勾选提示的两个复选框 然后点击 Uninstall 第二步 安装 IDEA 点击 Next gt 自定义安装路径 点击 Next gt 个人感觉只需要在 64 bitlaunch 前面打钩就行 下面的 12345 的功能如下

    2026年3月27日
    2
  • linux安装pycharm专业版_linux下pycharm使用

    linux安装pycharm专业版_linux下pycharm使用文件准备流程下载pycharm的linux版本的软件包,下载地址:http://www.jetbrains.com/pycharm/download/#section=linux解压$tar-xfpycharm-professional-2017.1.4.tar.gz进入解压后的文件夹下的bin目录,执行sudoshpycharm.sh在安装过程中选择激活码激活注

    2022年8月29日
    7
  • ODA(Open Design Alliance)介绍「建议收藏」

    ODA(Open Design Alliance)介绍「建议收藏」注:与autocad兼容的软件,大部分基于Intellicad,另外刚冒出一个bricscad,天河的PCCADV10就是基于bricscad,bricscad是用ODA的库开发的,而开发brics

    2022年8月6日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号