java重写与重载的区别-创新互联

这篇文章主要介绍“java重写与重载的区别”,在日常操作中,相信很多人在java重写与重载的区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java重写与重载的区别”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

目前成都创新互联已为成百上千家的企业提供了网站建设、域名、网络空间、成都网站托管、企业网站设计、丹江口网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

重载(Overload):编译时的多态性

指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
特点:

  • 方法名相同,==参数列表不同==(参数个数,参数类型,参数顺序)

  • 返回值类型可以相同可以不同

  • 可以抛出不同的异常

应用:
多用于构造方法的重载

class OverloadTest{
    //重载时参数顺序不同也可以,但前提时参数类型不同
    public static void method(String s,int a){
        System.out.println("方法1");
    }
    public static void method(int a,String s){
        System.out.println("方法2");
    }

    //构造方法的重载应用较多
    OverloadTest(int v,String s){
        System.out.println("构造方法1");
    }
    OverloadTest(String s,int v){
        System.out.println("构造方法2");
    }
}

重写(覆写,Override):运行时的多态性

当子类继承父类后,如果想要修改,可以用方法的重写

特点:

  • 方法名,参数列表相同

  • 返回值类型相同

  • 访问限定符不可以比父类的被重写方法的更严格,即子类的重写方法被访问的范围与父类相同或者更广,不可以更窄

  • 不可以抛出新的受查异常或更广泛的受查异常,可以抛出非受查异常

  • 不可以重写被final修饰的方法

  • 不可以重写被static修饰的方法

应用:
子类需要修改继承自父类的方法时应用

class OverrideTest{
    public void method(){
        System.out.println("父类的方法");
    }
}
class Son extends OverrideTest{
    @Override//子类重写父类方法时可以加上这个注解,自动帮你校验重写格式是否正确
    public  void method(){
        System.out.println("子类重写的方法");
    }
    public static void methodB(){
        System.out.println("子类的方法");
    }
}

public class OverrideOrOverloadDemo {
    public static void main(String[] args) {
        new OverrideTest().method();
        new Son().method();
        OverrideTest ot = new Son();
//        ot.methodB();//以引用为准,引用为OverrideTest,该类中的没有方法methodB(),因此会报编译错误
        ot.method();//当子类重写了父类的方法时,调用子类的重写的方法
    }
}

运行结果:
java重写与重载的区别

到此,关于“java重写与重载的区别”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站制作公司网站,小编会继续努力为大家带来更多实用的文章!

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。

新闻名称:java重写与重载的区别-创新互联
URL分享:https://www.cdcxhl.com/article44/dddghe.html

成都网站建设公司_创新互联,为您提供用户体验企业网站制作网站设计品牌网站建设域名注册商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发