Java学习笔记(Java中的重写)

一、概述

    当子类需要父类的功能,而子类有新的内容,可以重写父类中的方法。在实际开发过程中,随着代码量的逐渐增加,维护成了一个很大的问题,如果需要对某个方法进行修改,其本身代码以及其子类代码都会受到影响,而重写则很好的解决了这个问题。方法重写又称为方法覆盖、方法复写。

方法重写特点

    在子类和父类中,出现了方法声明相同的情况

    子类的方法声明要和父类相同

    子类要重写的方法,方法的权限修饰符不能比父类更低(public 、protected  、default  、private 权限依次增加)

    父类私有的方法,子类不能进行方法重写

方法重写和方法重载的区别:

    方法重写:子类和父类中方法相同,两个类之间的关系,函数的返回值类型、函数名、参数列表都一样

    方法重载:指在同一个类中,多个方法名相同,他们的参数列表不同(个数不同,数据类型不同)

二、代码实例

先创建Person.java父类

package Rewrite;

public class Person {

    public void eat()

    {

        System.out.println("吃饭!");

    }

    public void work()

    {

        System.out.println("工作!");

    }

    public void sleep()

    {

        System.out.println("睡觉!");

    }

}

再创建Student.java子类

package Rewrite;

/*

Student子类继承Person父类,并对父类的work()方法进行重写

*/

public class Student extends Person {

    public void work()

    {

        super.work();      //使用super关键字调用父类方法

        System.out.println("学习!");

        System.out.println("娱乐!");

    }

}

在Main.java中调用

package Rewrite;

public class Main {

    public static void main(String[] args)

    {

        Person per = new Person();      //创建父类对象

        per.eat();

        per.work();

        per.sleep();

        Student stu = new Student();        //创建子类对象

        stu.work();

    }

}

实例分析:

    在Person父类中定义了三个方法,在子类中对work()方法进行重写

    重写时函数的返回值类型、函数名、参数列表都一样

    在子类中可以使用super关键字调用父类方法

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • DAY 05 1、 public classArrayDemo { public static void mai...
    周书达阅读 4,088评论 0 0
  • Unsupported major.minor version 51.0解决办法 具体步骤 解决:项目------...
    晨星资源阅读 3,902评论 0 1
  • Java OOP 什么是面向对象思想? 把一组数据和处理他们的方法组成对象(object),把相同行为的对象归纳为...
    chonglingliu阅读 4,229评论 0 1
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,645评论 0 11
  • 7.20的安信信托在下跌许久之后,出现投资的价值时开了个涨停。 秦小明 今天谈金融的文章 他塔勒布的方法。到达一定...
    小虞渊阅读 1,364评论 0 0

友情链接更多精彩内容