栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java重写与重载的区别(易懂)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java重写与重载的区别(易懂)

总是爱混淆这两个概念 ,今天我来总结一下这个知识点吧!

————————————————————————————重写Override——————————————————————————————————————

从字面上看:重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。
    注意是:子类重写父类的方法 叫 重写!
要求:方法名,参数列表,返回值类型都相同的情况下
操作:对方法体进行修改或者重写
注意:子类函数的访问权限不能少于父类的
    1.发生在父类与子类之间
    2.方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同
    3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
    4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常


例如:
public class Father {

    public static void main(String[] args) {
       
        Son s = new Son();
        s.sayHello();
    }

    public void sayHello() {
        System.out.println("Hello");
    }
}

class Son extends Father{

    @Override
    public void sayHello() {
        // TODO Auto-generated method stub
        System.out.println("hello by ");
    }

}
——————————————————————————————重载Overload————————————————————————————————————————
在一个类中,同名的方法如果有不同的参数列表
(参数类型不同、参数个数不同甚至是参数顺序不同)则视为重载
要求:在同一个类中,同名的方法
操作:参数类型、参数个数、参数顺序 的改变
注意:重载对于返回值的类型没有要求,这里注意要和重写区分,重写要保持返回值类型
    相同,不能通过返回值类型来判断重载

 总结:1、方法的重载体现了一个类中的多态性
      2、重载主要是对同类中同名方法参数的改变与不同
      3、重载与返回值类型无关!!!!!!!!!
 例子:

    public class Father {

        public static void main(String[] args) {
          
            Father s = new Father();
            s.sayHello();
            s.sayHello("wintershii");

        }

        public void sayHello() {
            System.out.println("Hello");
        }

        public void sayHello(String name) {
            System.out.println("Hello" + " " + name);
        }
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/889274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号