您的位置: 翼速应用 > 业内知识 > Java > 正文

在java中,重载与重写都有哪些区别

本文是关于java的知识教程分享,一起聊聊java中的重载与重写之区别,大致内容如下:


1、重载实现的是编译时的多态性,而重写实现的是运行时的多态性。

2、重载发生在一个类中,同名的方法的参数列表要不同;而重写发生在子类与父类之间,重写方法的重写方法要相同。

3、重载方法的返回类型可以修改,而重写方法不能。

4、重载方法的异常可以修改,重写方法的异常可以减少或删除,一定不能抛出新的或者更广的异常。

5、重载方法的访问可以修改,而重写方法的访问一定不能做更严格的限制。


 在java中,重载与重写都有哪些区别


在java中,重载与重写都有哪些区别


重写


从字面上看,重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。


例如:


public class Father {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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 ");
    }
 
}


●  重写总结:


  ○  发生在父类与子类之间

  ○  方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同

  ○  访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

  ○  重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常


重载


在一个类中,同名的方法如果有不同的参数列表则视为重载。同时,重载对返回类型没有要求,可以相同也可以不同,但不能通过返回类型是否相同来判断重载。


例如:


public class Father {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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);
    }
}


●  重载总结:


  ○  重载Overload是一个类中多态性的一种表现

  ○  重载要求同名方法的参数列表不同(参数类型,参数个数甚至是参数顺序)

  ○  重载的时候,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准


关于JAVA中的重载与重写之区别解析到这里就结束了,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题