导图社区 Java重写
这是一个关于Java重写的思维导图,讲述了Java重写的相关故事,如果你对Java重写的故事感兴趣,欢迎对该思维导图收藏和点赞~
编辑于2022-10-12 04:59:20Java重写
概述
Java中的重写是指子类重新定义父类中已有的方法的过程。在子类中重写父类方法可以实现多态性,提高代码的灵活性和可维护性。
重写规则
子类方法必须具有与父类方法相同的名称、参数列表和返回类型,即方法签名必须相同。
子类方法的访问修饰符可以和父类方法一样或更宽松,但不能更严格。
子类方法不能抛出比父类方法更多的异常,或者抛出父类方法没有声明的异常。
子类方法不能使用比父类方法更严格的访问修饰符。例如,父类方法为public,则子类方法可以是public或protected,但不能是private。
示例
假设有一个父类Animal,其中定义了一个方法speak()。现在我们创建一个子类Cat,它重写了父类Animal中的speak()方法。
父类Animal
属性
无
方法
speak(): 打印"Animal is speaking..."
子类Cat
属性
无
方法
speak(): 打印"Cat is meowing..."
在主程序中,我们可以创建一个Animal对象和一个Cat对象,并调用它们的speak()方法进行测试。由于子类Cat重写了父类Animal中的speak()方法,所以它们的输出将不同
Animal类对象调用speak()方法,输出"Animal is speaking..."
Cat类对象调用speak()方法,输出"Cat is meowing..."
调用父类方法
在子类中,我们可以通过使用super关键字来调用父类的方法。这在需要在子类方法中扩展父类方法的功能时非常有用。
父类的方法可以通过使用super关键字访问,并在子类方法中进行调用。这样可以确保在子类方法中添加新的功能,同时保留父类方法的原有功能。
总结:Java中的重写是一种子类重新定义父类已有方法的过程,通过重写可以实现多态性,并提高代码的灵活性和可维护性。其中的规则包括方法签名相同、访问修饰符相同或更宽松、不能抛出更多的异常、不能使用更严格的访问修饰符等。可以使用super关键字调用父类方法,并在子类方法中扩展父类方法的功能。重写可以使代码更具扩展性和可读性,是面向对象编程中重要的概念。