重载和重写的区别

一、重载

        重载是在同一个类中,拥有相同方法名不同参数列表参数个数参数类型,则视为重载。重载是一个类中多态性的表现,在编译时起作用(静态多态性)。

public static void main(String[] args){
        Hello2 hello2=new Hello2();
        hello2.test();
        hello2.test(1);
        hello2.test(1,2);
    }

    public void test(){
        System.out.println("test");
    }
    public void test(int a){
        System.out.println("test"+" "+a);
    }
    public void test(int a,int b){
        System.out.println("test"+" "+a+" "+b);
    }

重载总结:

  • 重载Overload是一个类中多态性的一种表现
  • 重载要求方法名相同,参数类型、参数顺序、参数个数不同
  • 可以抛出不同的异常,可以有不同的修饰符

二、重写

        重写就是子类对父类在原有的方法从新编译,是父类与子类之间的多态性,在运行时起作用。子类可以继承父类的所有方法,也可以继承父类中的某个方法。在方法名、返回类型、参数列表完全一致的情况下,这就是重写。子类的访问权限不能低于父类的。

public class Hello {
    //父类    
    public void testDome1(){
        System.out.println("Hello");
    }
}

public class Hello2 extends Hello{//继承Hello父类
    public static void main(String[] args){
        Hello2 hello2=new Hello2();
        //进行输出
        hello2.testDome1();
    }

    public void testDome1(){
        //super:保留父类方法
        super.testDome1();
        System.out.println("Hello2");
    }
}


public class Hello2 extends Hello{//继承Hello父类
    public static void main(String[] args){
        Hello2 hello2=new Hello2();
        /*
        * 执行Hello2子类
        * 输出结果:
        * hello
        * hello2
        * */
        hello2.testDome1();
    }

    public void testDome1(){
        //super:保留父类方法
        super.testDome1();
        System.out.println("Hello2");
    }
}

重写总结:

  • 方法名、参数列表和返回类型必须子类与父类一致
  • 构造方法不能重写,声明为final的方法不能重写,声明为static的方法不能重写,但是能够再次声明。
  • 重写方法能抛出任何非强制性异常,但不能抛出新的强制性异常

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李景阔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值