方法的重载和重写

本文介绍了Java中的方法重载和方法重写概念。方法重载发生在同一类中,通过参数列表的不同(类型、个数或顺序)实现同名方法的区分。而方法重写则涉及类的继承关系,子类可以重新定义父类中的方法,保持方法名、参数列表和返回类型一致,但实现不同。通过示例代码详细展示了这两个概念的实际运用和调用规则。
摘要由CSDN通过智能技术生成

方法重载:

方法的重载是指在同一个类中定义多个同名但参数列表(参数类型、参数个数或参数顺序)不同的方法,编译器会根据调用时传递的参数类型、个数和顺序来确定调用哪个方法
使用场景:当某一类方法,用法相似,但又有一些不同时。可以使用同一个方法名,然后根据参数的不同来区分

    public static void main(String[] args) {
        as(10,"结果是:");  //当执行代码是程序会先找到所有名为 as的方法,然后根据参数的类型的 
        个数去比对,两个参数类型分别为 整数和字符串,所以只有方法4符合,所 
        以调用了方法4

        System.out.println(as(10, 32));//同理,两个整数类型 只有方法1符合,方法3为双精度应为 
          10.0 所以调用了1方法

         as(20.500,67.5000);//同理,调用了方法3
        as(12,34,56);//同理,调用了2方法
    }
    public static int as(int a,int b){
        System.out.println("1方法执行了");
        return  a+b;
    }

    public static int as(int a,int b,int c){
        System.out.println("2方法执行了");
        return  a+b+c;
    }
    public static int as(double a,double b){
        System.out.println("3方法执行了");
        return  (int)(a+b);
    }
    public static int as(int a,String b){
        int  product=a*a;
        System.out.println(b+product);
        return product;
    }
 运行结果如下:


方法重载只与下列因素相关
1,参数的个数
2,参数的类型
3.参数类型顺序不同

方法重载与下列因素无关
1,与参数名称无关

2,与方法的返回值无关


方法重写:
    
方法的重写是指子类重新定义父类中已有的方法,方法名、参数列表和返回值类型必须与父类中的方法相同,但方法体可以不同。当子类对象调用重写的方法时,会优先调用子类中的方法,而不是父类中的方法。
使用场景:当使用某个类的方法的部分特性时,可以继承该类,然后对该方法进行一些更改,

例:

public class Animal {
    public void sound() {
        System.out.println("这是一只凶猛的动物");
    }
}

public class Tiger extends Animal {//Tiger类继承了 Animal类 对父类方法惊醒了增强
    @Override
    public void sound() {
        System.out.println("这是一只凶猛的东北虎");
    }
}

方法重写发生的条件:

1, 发生在两个类之间

2,两个类之间有明确的继承关系

3,子类要对父类的方法进行覆盖,覆盖时,不改变方法的名称,参数,和返回类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值