首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

重写一个方法会重写父注释吗?

当子类重写(覆盖)父类的方法时,子类可以选择是否重写父类方法的注释。注释是用来解释方法的功能、参数、返回值等信息,它们对于代码的可读性和维护性非常重要。在重写方法时,子类可以保留父类方法的注释,也可以根据子类方法的实现情况进行修改或添加新的注释。

重写父类方法时,子类必须遵循以下规则:

  1. 方法名、参数列表和返回类型必须与父类方法完全一致。
  2. 子类方法的访问修饰符不能比父类方法更严格。例如,如果父类方法是public,子类方法可以是public或protected,但不能是private。
  3. 子类方法不能抛出比父类方法更宽泛的异常。子类方法可以不抛出异常,或者抛出与父类方法相同的异常或其子类异常。

在重写父类方法时,子类可以根据自身的需求进行注释的修改或添加。注释应该清晰地描述方法的功能、参数的含义、返回值的类型和意义等。同时,可以根据具体的业务场景和需求,提供更详细的注释信息,以便其他开发人员理解和使用该方法。

需要注意的是,重写父类方法时,注释的修改或添加并不会自动影响父类方法的注释。父类和子类的注释是相互独立的,每个类都应该有自己的注释文档。因此,在使用重写的方法时,开发人员应该参考子类方法的注释,而不是父类方法的注释。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性计算能力,满足各种业务需求。详情请参考:https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):提供高性能、可扩展的关系型数据库服务。详情请参考:https://cloud.tencent.com/product/cdb
  • 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,帮助开发者快速构建智能应用。详情请参考:https://cloud.tencent.com/product/ai
  • 物联网开发平台(IoT Explorer):提供全面的物联网解决方案,支持设备接入、数据管理和应用开发。详情请参考:https://cloud.tencent.com/product/iotexplorer
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

类静态方法可以重写

重写(Override)作为Java的特性之一,经常被作为面试问题。 比较坑的一个问题是,子类能否重写类的静态方法? 答案当然是可以的。...但是重写之后会发生什么,是否调用子类静态方法会执行子类的逻辑,这才是坑所在的地方。 重写 回顾一下Override的定义,重写是对类允许访问的方法的实现逻辑进行重新编写。...从它的特点上来说,重写允许子类对象拥有自己的实现逻辑。从这个角度来说,重写静态方法是不允许的。 重写静态方法会发生什么?...,执行的还是类的逻辑。...因此即使重写了也没意义。 如果这样说的不够明白,可以回想平时开发中我们经常用的工厂模式,或者面向接口编程。我们经常会用类来声明一个对象,而对象是在运行时才确定的,这就是运行时重写的意义所在。

1.5K20

什么是java的多态

运行时多态是在类引用指向子类对象时产生的。一个类的引用可以指向多种子类对象,那么运行时对于同一个消息应该如何做出响应呢?这就由实际的被引用的对象的类型来决定。 b. 为什么要有重写呢?...难道类中的方法没有被重写,直接调用子类中存在的方法难道是不行吗?看个例子如下: 上面的例子中,当类中的getName()被注释掉以后,调用father.getName()方法会出错。...当运行 a2.show(b) 的时候,实际是要调用一个 show(B obj) 的方法,但是 A 中有这样一个方法?没有!...在B类中是没有对A中的show方法进行重写,所以当a.show()时调用的是类中的show方法,类中show方法调用了show2法,但是在调用的时候发现show2法已经被子类重写,因此会调用子类中...可见,当类引用指向子类对象的时候,对类中方法的调用都会绑定到子类中重写后的方法上,如果子类没有对方法进行重写,那么会直接调用类中的方法,相当于是直接调用从父类继承的方法。

55620
  • 【JavaSE专栏59】方法重写的概念及优先级问题,面向对象的多态性机制

    方法重写的目的是在继承关系中,子类可以根据自己的需要对类的方法进行个性化定制,以实现更灵活和特定的功能,重写法会在运行时动态决定调用哪个方法,实现了多态性的特性。...下面是一个简单的样例代码来说明方法重写的优先级,请同学们认真学习。...这说明在方法重写中,方法的调用是基于对象的实际类型,而不是变量的类型,所以子类重写的方法会优先调用。 ---- 四、方法重写面试题 什么是方法重写?请举例说明。 方法重写和方法重载有什么区别?...方法重写的规则是什么? 如果类的方法是 private 的,能够被子类重写? 如果子类重写类的方法,能够抛出比类方法声明更宽泛的异常类的静态方法能够被子类重写?...如果类的方法是 final 的,能够被子类重写? 调用重写方法的时候,到底调用类的方法还是子类的方法? 能否在类中调用子类的重写方法? 方法重写和多态之间的关系是什么?

    26150

    java基础(四)

    } 只能继承一个类 2.子类访问类成员 访问类构造方法: 使用super关键字,super代表类对象,在子类的构造方法中调用,且必须是第一句 super(); super(name); 访问类属性...不能访问类的private成员 子类能访问类的所有资源?...重写 构造方法会重写? 不能被继承,因此不能重写。 方法重写的规则? 方法名相同 参数列表相同 返回值类型相同或者是其子类 访问权限不能严于类 方法重载和方法重写 ?...Object类 Object类是所有类的一个类如果没有使用extends显示的继承另外一个类, 那么这个类就继承自Object类。...内部类 把一个类定义在另一个类的内部称为内部类 package cn.bjsxt.demo;//声明包 class Outer//声明类 { private String info="hello

    38730

    浅谈Python中的继承

    继承 Python 中所有的类都是object类的子类,而object 继承自type 继承分为 接口继承和实现继承 接口继承:使用类的接口名,子类重写这个方法。...def get_name(self): super().get_name() print('我重写类的get_name方法,上面是类的方法,我来自子类!')...is MyClass # This is MySonClass # **************************************** # MyClass # MySonClass # 我重写类的...多继承 就形式上来说,类的继承列表可以是一个,也可以是多个,当继承列表只有一个类时,也就是只有一个类时,称为单继承,大于一个类,就称为多继承。...(当使用类名.方法名的时候) 当使用super()方法执行“类” (__mro__ 方法的上一个类) 的方法 # 钻石继承中的 重复调用问题 # 注意 继承的查找顺序~ 使用super()将按照 mro

    61520

    大厂面试题典-注解可以继承,show me code?

    你也许认为类继承后,类的注解也可继承,子类重写类方法后,类方法上的注解也能作用于子类,确定? 1 案例 自定义注解 ?...子类Child继承Parent类,并重写类的foo方法,子类的foo方法和类上都没有@MyAnnotation注解。 ?...子类可以获得类类上的注解;子类的foo虽是重写类方法,并且注解本身也支持继承,但还是无法获得方法上的注解。 因为@Inherited只能实现类上的注解继承。...Find 语义 更加详尽,提供了获取语义以及对以下内容的支持: 搜索接口(如果带注释的元素是类) 搜索超类(如果带注释的元素是一个类) 解析桥接方法(如果带注释的元素是方法) 如果带注解的元素是方法,则在接口中搜索方法...4 Spring的@Service、@Controller会支持继承

    3.5K20

    Java的学习笔记(11)对象 六

    对象11:方法重写 重写:需要有继承关系,子类重写类的方法!...,子类的方法和类的方法一致;方法体不同 为什么需要重写 类的功能,子类不一定需要或者不一定满足!...,注解:有功能的注释 public void test() { //super.test(); System.out.println("A=》test"); } } 对象12:多态 动态编译...,可扩展性变得更强 多态,即同一法根据发送对象的不同而采用不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用类型很多(类,有关系的类) 多态的存在条件 有继承关系 子类重写类方法 类引用指向子类的对象...类型转换异常 存在条件:继承关系,方法需要重写类引用指向子类对象!

    18420

    【Java核心面试宝典】Day8、面向对象常见面试题汇总(三)

    调用类的构造方法,使用 super() 或 super(参数),该语句必须是子类构造方法的第一个语句,且这是调用类构造方法的唯一式。 调用类的方法,使用 super.方法名(参数)。...构造一个类的实例时,会沿着继承链调用所有类的构造方法,类的构造方法在子类的构造方法之前调用,即构造方法的调用顺序是从父类到子类的。...重载是指一个类中定义多个方法,这些方法有相同的名称,但是方法的签名不同; 重写是指在子类中定义一个方法,该方法与类中的该方法的签名相同,返回值类型相同或者子类返回值是类方法返回值的子类。...重载 重写 场合 同一个类和子类 方法名称 相同 相同 方法签名 不同 相同 返回值类型 可以不同 相同或者子类返回值类型是类返回值类型的子类 7、可见性修饰符protected表示可以从哪里访问类成员...protected void finalize() throws Throwable finalize方法用于垃圾回收,如果一个对象不能再被访问,就变成了垃圾,finalize 方法会被该对象的垃圾回收程序调用

    37310

    java面试题汇总一(会持续更新)

    方法重写时,子类的返回值必须与类的一致。如果类方法抛出一个异常,子类重写的方法抛出的异常类型不能小于类抛出的异常类型。 51.构造方法能不能重载?能不能重写?...可以重载,必须重写 52.如果类只有有参构造方法,那么子类必须要重写类的构造方法? 必须重写 53.创建一个子类对象的时候,那么类的构造方法会执行吗? 会执行。...当创建一个子类对象,调用子类构造方法的时候,子类构造方法会默认调用类的构造方法。 54.什么是类引用指向子类对象? 是java多态一种特殊的表现形式。...创建类引用,让该引用指向一个子类的对象 55.当类引用指向子类对象的时候,子类重写类方法和属性,那么当访问属性的时候,访问是谁的属性?调用方法时,调用的是谁的方法?...98.重载与重写 Overload为重载,Override为重写方法的重写和重载是Java多态性的不同表现。重写类与子类之间多态性的一种表现,重载是一个类中多态性的一种表现。

    46800

    (18) 为什么说继承是把双刃剑 计算机程序的思维逻辑

    继承是把双刃剑 通过前面几节,我们应该对继承有了一个比较好的理解,但之前我们说继承其实是把双刃剑,为什么这么说呢?一面是因为继承是非常强大的,另一面是因为继承的破坏力也是很强的。...给类增加属性和行为,就可以自动给所有子类增加属性和行为 继承被广泛应用于各种Java API、框架和类库之中,一面它们内部大量使用继承,另一面,它们设计了良好的框架结构,提供了大量基类和基础公共代码...子类的addAll方法首先调用了类的addAll方法,而类的addAll方法通过add方法添加,由于动态绑定,子类的add方法会执行,子类的add也会做汇总操作。...比如说,绝大部分鸟都会飞,可能就想给鸟类增加一个方法fly()表示飞,但有一些鸟就不会飞,比如说企鹅。 在"is-a"关系中,重写方法时,子类不应该改变类预期的行为,但是,这是没有办法约束的。...给类加final修饰符,类就保留了随意修改这个类实现的自由,使用者也可以放心的使用它,而不用担心一个类引用的变量,实际指向的却是一个完全不符合预期行为的子类对象。

    1.1K60

    python之面向对象中的多态

    说明:SonDog继承了Dog,并重写了play方法 。在Person类中,game方法需要传入一个Dog的实例。 假设我们传给game的不是Dog类,而是其子类,那么效果又是怎么样的呢?...之前也说过了,可以这么理解:Dog sonWc = new SonDog("旺财儿子"),这不就是类的引用指向子类的对象了么。子类重写类的play方法,在调用时,会调用子类的play方法。...那么,假设类中有而子类没有,子类中有而类中没有的方法会怎么样呢?...类就访问不到子类的特有的方法。 讲这么一个是为了说明什么,多态使得类可以访问到子类的方法和属性,虽然在python中并不显得那么明显。...总结: 本文通过例子讲述了python中的多态:类的引用指向子类的对象。 另外,像方法的重写和重载也是多态的一种体现。

    35020

    你是真的了解多态?谈谈你对多态的了解以及应用

    那么一个Student对象既可以赋值给一个Student类型的引用,也可以赋值给一个Person类型的引用。 所以根据以上讲述可以得出: 1、最终多态体现为类引用变量可以指向子类对象。...2、多态的前提是必须有子类关系或者类实现接口关系,否则无法完成多态。 3、在使用多态后的类引用变量调用方法时,会调用子类重写后的方法。...”); } } //接口的多态使用 Fu fu = new Zi(); 注意事项 同一个类的方法会被不同的子类重写。...(); //p2会调用Teacher类中重写的work方法 当变量名指向不同的子类对象时,由于每个子类重写类方法的内容不同,所以会调用不同的方法。...⊙请问你知道什么是栈? ⊙看看你对队列的了解有多少? ⊙面试题68(加深你对栈的理解_让你知道什么是栈) ⊙来测试一下你对数据结构中的栈和队列的了解有多少?

    42920

    iOS Category实现原理 (补充)

    iOS Category实现原理 (补充) load 和 initialize load load方法会在程序启动就会调用,当装载类信息的时候就会调用。 调用顺序看一下源代码。...当分类重写initialize方法时会先调用分类的方法。...总结 Category中有load方法?load方法是什么时候调用的?load 方法能继承? Category中有load方法,load方法在程序启动装载类信息的时候就会调用。...调用子类的load方法之前,会先调用类的load方法。 load、initialize的区别,以及它们在category重写的时候的调用的次序。...是根据函数地址直接调用,initialize是通过objc_msgSend调用 调用时刻: load是runtime加载类、分类的时候调用(只会调用1次), initialize是类第一次接收到消息的时候调用,每一个类只会

    78750

    【Java 基础】:三大特征之多态

    多态概念 在Java中,多态是面向对象编程中的一个重要概念,它允许不同类型的对象对同一法进行不同的实现。具体来说,多态性指的是通过类的引用变量来引用子类的对象,从而实现对不同对象的统一操作。...多态性通常通过一个类用变量引用子类对象来实现。 方法重写 子类必须重写(Override)类的方法。...区别点 重写 重载 定义位置 定义在类和子类之间 定义在同一个类中 方法签名 重写方法具有相同的名称和方法签名 重载方法具有相同的名称,但方法签名(参数类型和个数)不同 继承关系 是在子类中对类方法的重新定义和实现...当调用对象方法的时候,该方法会和该对象的运行类型绑定 当调用对象属性时,没有动态绑定机制,即哪里声明,哪里使用。...4.2 向下转型 (1)本质:一个已经向上转型的子类对象,将类引用转为子类引用 (2)特点: 只能强制转换类的引用,不能强制转换类的对象 要求类的引用必须指向的是当前目标类型的对象 当向下转型后

    8410

    Laravel学习记录--laravel模板

    guest //用户没有登录 @endguest 模板引用 @include(模板名)引入子模板 问题引入: 当页面大部分内容都一样,只有其中一小块区域要发生改变时,这时候使用include还能满足需求?...这时候可以使用laravel的模板继承,类似于面向对象的思想,子模板继承模板,同时子模板可对模板的“方法”进行重写 使用方法: 1. section 模板中要变化的地方键入 @section(name...) @show 子模板继承 @extends('模板名') @section('模板的section_name') 这里键入重写内容 @endsection 下面举个简单例子...')//继承模板parent @section('con')//重写con区域 子模板修改内容 @endsection 效果图 子模板对模板的con区域进行了重写,并且没有显示模板原有的...://不将{内的代码转义} {{-- 注释内容 --}}

    1.9K20

    Java面向对象编程中级

    IDEA 常用快捷键 删除当前行, 默认是 ctrl + Y 自己配置 ctrl + d 复制当前行, 自己配置 ctrl + alt + 向下光标 补全代码 alt + / 添加注释和取消注释 ctrl...A->B->C,当然也需要遵守访问权限的相关规则 super 和this 的比较 方法重写/覆盖(override) 简单的说:方法覆盖(重写)就是子类有一个方法, 和类的某个方法的名称、返回类型...;//可以?...1.当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定 2.当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用,找不到再去类中寻找。...当直接输出一个对象时, toString 方法会被默认的调用, 比如System.out.println(monster) ;// 就会默认调用monster.toString() finalize

    46930

    java基础面试题

    运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1重写(子类继承类并重写类中已有的或抽象的方法)2对象造型(用类引用子类对象) 2.访问修饰符权限 权限分为:当前类,同包,子类,其他包...5后增加enum,7后增加String. 9.最有效率的方法计算2乘以8 答:2<<3(左移3相当于乘以2的3次,右移3相当于除以2的3次) 补充:我们为编写的类重写hashCode方法时,可能会看到如下所示的代码...重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与类之间,重写要求子类被重写方法与类被重写方法有相同的返回类型,比类被重写方法更好访问...,不能比类被重写方法声明更多的异常(里氏代换原则)。...这时候,调用这个覆盖的方法会调用覆盖的成员变量。如果子类只覆盖了成员变量,没有覆盖方法,调用这个方法会调用类的成员变量,尽管这个成员变量被覆盖了。

    1.1K50
    领券