Java中重载与重写有何本质不同?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1063个文字,预计阅读时间需要5分钟。
重载是一种方法,根据输入数据的差异,对相同的方法进行不同的处理。重写则是子类继承自父类,重写父类的相同方法,实现不同的响应。输入数据相同,但父类和子类的响应不同时,需要覆盖父类方法+重载。
重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法
重载
发生在同一个类中(或者父类和子类之间),方法名必须相同,参数类型不同、个数不同、顺序不同,与修饰符和返回值类型无关。 下面是《Java 核心技术》对重载这个概念的介绍: 综上:重载就是同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。 案例:比较两个数据是否相等。参数类型分别为两个byte 类型,两个short 类型,两个int 类型,两个long 类型,并在main 方法中进行测试。
重写
重写发生在运行期,是子类对父类的允许访问的方法的实现过程进行重新编写。
综上:重写就是子类对父类方法的重新改造,外部样子不能改变,内部逻辑可以改变
区别点 重载方法 重写方法 发生范围 同一个类 子类 参数列表 必须修改 一定不能修改 返回类型 可修改 子类方法返回值类型应比父类方法返回值类型更小或相等 异常 可修改 子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; 访问修饰符 可修改 一定不能做更严格的限制(可以降低限制) 发生阶段 编译期 运行期方法的重写要遵循 两同两小一大:
- “两同”即方法名相同、形参列表相同;
- “两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;
- “一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。
本文内容到此结束了, 如有收获欢迎点赞
本文共计1063个文字,预计阅读时间需要5分钟。
重载是一种方法,根据输入数据的差异,对相同的方法进行不同的处理。重写则是子类继承自父类,重写父类的相同方法,实现不同的响应。输入数据相同,但父类和子类的响应不同时,需要覆盖父类方法+重载。
重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法
重载
发生在同一个类中(或者父类和子类之间),方法名必须相同,参数类型不同、个数不同、顺序不同,与修饰符和返回值类型无关。 下面是《Java 核心技术》对重载这个概念的介绍: 综上:重载就是同一个类中多个同名方法根据不同的传参来执行不同的逻辑处理。 案例:比较两个数据是否相等。参数类型分别为两个byte 类型,两个short 类型,两个int 类型,两个long 类型,并在main 方法中进行测试。
重写
重写发生在运行期,是子类对父类的允许访问的方法的实现过程进行重新编写。
综上:重写就是子类对父类方法的重新改造,外部样子不能改变,内部逻辑可以改变
区别点 重载方法 重写方法 发生范围 同一个类 子类 参数列表 必须修改 一定不能修改 返回类型 可修改 子类方法返回值类型应比父类方法返回值类型更小或相等 异常 可修改 子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等; 访问修饰符 可修改 一定不能做更严格的限制(可以降低限制) 发生阶段 编译期 运行期方法的重写要遵循 两同两小一大:
- “两同”即方法名相同、形参列表相同;
- “两小”指的是子类方法返回值类型应比父类方法返回值类型更小或相等,子类方法声明抛出的异常类应比父类方法声明抛出的异常类更小或相等;
- “一大”指的是子类方法的访问权限应比父类方法的访问权限更大或相等。
本文内容到此结束了, 如有收获欢迎点赞

