简单了解 方法重载与方法重写

方法重载与方法重写

1、方法重载

1.1 什么是方法重载?

  1. 在同一个类中有多个(两个及以上)同名函数,被称作方法重载。

1.2 方法重载的要求

  1. 函数名一致
  2. 参数列表不同(参数个数不同,或者相同位置对应的参数类型不同)
  3. 与返回值类型无关,与权限修饰符无关
public class Dome1 {
    // 方法重载:同类同函数名,形参列表不能相同,与返回值无关,与权限修饰符无关。
    private short test() {
        short aa = 4;
        System.out.println("无参test函数,返回值类型short");
        return aa;
    }

    protected String test(String s) {
        System.out.println("String形参类型test函数,返回值类型String");
        return s;
    }

    default int test(int count) {
        System.out.println("int 形参类型test函数,返回值类型 int");
        return count;
    }

    public void test(String s, int count) {
        System.out.println("String + int 多形参类型test函数");
    }
}

 

 

 

2、方法重写

2.1 什么是方法重写?

  1. 在继承中,子父类出现了同名的函数,叫做方法重写。

2.2 方法重写的前提

  1. 在继承关系中,父类的方法不能满足子类的需求,这时就需要使用方法重写。

2.3 方法重写的要求

  1. 子类和父类的函数名及形参列表必须一致
  2. 子类的权限修饰符必须要大于或等于父类的权限修饰符
  3. 子类的返回值类型必须要小于或等于父类的返回值类型
  4. 子类抛出的异常类型必须要小于或等于父类抛出的异常类
class Father {
    // test 重载方法:同类同函数名,形参列表不能相同,与返回值无关。
    private static short test() {
        short aa = 4;
        System.out.println("无参test函数,返回值类型short");
        return aa;
    }

    protected String test(String s) {
        System.out.println("String形参类型test函数,返回值类型String");
        return s;
    }

    public int test(int count) {
        System.out.println("int 形参类型test函数,返回值类型 int");
        return count;
    }

    public static void test(String s, int count) {
        System.out.println("String + int 多形参类型test函数");
    }
}

// 子类继承父类,当父类函数不满足子类的需求时,重写父类的方法
class Son extends Father {
    // 子类的 函数名与形参列表 必须与父类一致。
    // 权限修饰符 必须大于或等于父类权限修饰符。
    // 返回值类型 必须大于或等于父类返回值类型。
    // 抛出的异常类型 必须大于或等于父类抛出的异常类型。
    @Override
    public String test(String s) {
        return "父类权限修饰符是 protected,子类权限小于父类时报错";
    }

    @Override
    public int test(int count) {
        System.out.println("当返回值类型与父类返回值类型不同时,编译报错");
        return super.test(count);
    }
}

方法重载与方法重写都是java多态应用的表现形式。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值