首页 > 其他分享 >方法重写

方法重写

时间:2024-08-01 12:51:14浏览次数:7  
标签:重写 子类 test 父类 方法 public

方法重写

目录

概念

方法的重写或方法的覆盖(overriding)

  • 子类根据需求对从父类继承的方法进行重新编写

  • 重写时,可以用super.方法的方式来保留父类的方法

  • 构造方法不能被重写

方法重写规则

重写方法和被重写方法必须具有相同的方法名

  • 重写方法和被重写方法必须具有相同的参数列表

  • 重写方法的返回值类型必须和被重写方法的返回值类型相同或者是其子类

  • 重写方法不能缩小被重写方法的访问权限。

实例

A类:

public class A extends B{
    @Override //重写
    public  void test() {
        super.test(); // 默认调用父类的方法
        System.out.println("222");
    }
}

B类:

public class B {
    public  void test(){
        System.out.println("B>=test()");
    }
}

main方法:

    A a = new A();
    a.test();
    //父类的引用指向了子类。
    B b =new A();   //子类重写了父类的方法
    b.test();
//输出结果为B>=test()  222   B>=test()  222

方法重载和重写的区别

区别 方法重写 方法重载
方法关系 描述的是父类和子类的方法关系 描述的是同一个类中多个同名方法的方法关系
Override 关键字 需要使用 @Override 关键字修饰 不需要
参数类型和参数个数 不能修改 必须修改
返回类型 只能变小或相同,不能变大 可修改
抛出异常 只能变小或删除,不能抛出新的或者更大的异常 可修改
权限控制符 只能变大,不能变小 可修改

标签:重写,子类,test,父类,方法,public
From: https://www.cnblogs.com/luoyiwen123/p/18336440

相关文章

  • 自动驾驶感知中BEV的景物表示方法
    自动驾驶感知中BEV的景物表示方法附赠自动驾驶最全的学习资料和量产经验:链接1LearningtoLookaroundObjectsforTop-ViewRepresentationsofOutdoorScenes,arXiv1803.10870本文在鸟瞰图中估计遮挡情况下的语义场景layout。这个具有挑战性的问题不仅需要对3D几何......
  • Java SE核心技术——5方法
    方法的作用在Java中,方法(Method)是一段具有特定功能的代码块,可以被重复调用。以下是一些Java方法的主要作用:封装性:方法可以封装一段代码,使得代码更加模块化,易于理解和维护。复用性:通过定义方法,可以避免重复编写相同的代码,提高代码的复用性。抽象性:方法可以隐藏实现细节,只暴露必......
  • String的equals方法的实现原理以及==跟equals的区别
    publicclassStringTest05{publicstaticvoidmain(String[]args){Strings1="hello";Strings2=newString("hello");System.out.println(s1==s2);System.out.println(s1.equals(s2));}}此代码......
  • 服务器LSI9361 RAID卡更换为BCM9560 RAID卡重启系统蓝屏解决方法
    一、问题现象服务器配LSI9361RAID卡,安装的系统为WindowsServer2022、2019、2016时。当LSI9361RAID卡故障后,使用BCM9560RAID卡替代后,无法进入系统后。报错提示如下图:二、解决方法 2.1 WindowsServer2022系统1、服务器启动时按F8键,选择“安全模式”进入系统。2......
  • Word文档删除最后一页空白页的超强方法(亲测有效)
    我们在编辑word文档时经常会遇到word文档多出最后一页空白页,无论怎样backspace和delete都无法删除空白页。以下方式主要为删除分页符的方法来删除最后一页。一、在倒数第二页的结尾,点击“显示分节符”按钮。二、将光标移动到分节符的前面,使用delete键,分节符和最后一页空白页都......
  • 吃透 JVM 诊断方法与工具使用
    JVM(Java虚拟机)是Java程序运行的基础环境,它提供了内存管理、线程管理和性能监控等功能。吃透JVM诊断方法,可以帮助开发者更有效地解决Java应用在运行时遇到的问题。以下是一些常见的JVM诊断方法:使用JConsole:JConsole是一个可视化监控工具,可以连接到本地或远程的JVM实例,查看内......
  • hashCode方法 和 equals()方法
    packagecom.coding.spring.mvc;importjava.util.HashSet;publicclassUser{privateStringname;publicUser(Stringname){this.name=name;}@Overridepublicbooleanequals(Objectobj){Useruser=(User)obj;......
  • TypeError:ufunc 的循环不支持 dict 类型的参数 0,该类型没有可调用的 sqrt 方法
    我遇到了一个错误:psi_out_norm.append(np.sqrt(sorted_probs))TypeError:loopofufuncdoesnotsupportargument0oftypedictwhichhasnocallablesqrtmethod不知道如何解决此错误。下面是我正在处理的代码:num_qubits=2sorted_probs={'00':0.182613164......
  • js中数组方法reduce的妙用
            在JavaScript中,reduce()是数组的一个方法,它用于将数组中的所有元素按照指定的函数进行合并并返回一个结果。使用reduce()方法,可以对数组进行求和、累加等操作。        我一直陷入固有思维,一直只使用reduce来进行累加操作。今天在做项目时在要进行复......
  • docker常用的使用方法
    docker如何退出进入的容器?要退出Docker容器的shell环境可以按以下步骤操作:在容器shell状态下,按下键盘上的Ctrl和P键。2然后按下Ctrl和Q键。这将使您退出容器的shell环境,但不会停止容器的运行。您将返回到宿主机的shell终端,而容器将继续在后台运行。如果......