重载与重写

本文介绍了Java中的两种重要概念——重载和重写。重载发生在同一类内,方法名相同但参数列表不同,常用于构造器的重载。而重写则发生在子类对父类方法的实现,要求方法名、返回值类型和参数列表相同,但方法体不同。
摘要由CSDN通过智能技术生成

文章目录

重载

重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
最常用的地方就是构造器的重载。
方法重载:

  • 发生在同一个类中
  • 要求:方法名相同,参数列表不同
  • 参数列表不同:
  • 参数的个数不同
  • 参数的数据类型不同
  • 参数的顺序不同
public class Method {
    public void add(int a, double b){
        System.out.println(a + b);
    }

    //参数的数据类型不同
    public void add(double a,double b){
        System.out.println(a + b);
    }

    //参数的个数不同
    public void add(int a,double b,int c){
        System.out.println(a + b + c);
    }

    //参数的顺序不同
    public void add(double a, int b){
        System.out.println(a + b);
    }
}

重写

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。 当两个方法名字相同的时候就直接默认是方法重新
环境:两个类存在继承关系的时候,发生在继承父类的子类中。
要求:

  • 方法名必须相同,包括大小写
  • 方法的返回值类型必须相同
  • 方法的参数列表必须相同
  • 方法体不同
public class Fu {
    //方法重写
    public String house(){
        return "我有一个房子,面朝大海,春暖花开  ----  是个大别墅";
    }
}

public class Zi extends Fu{
    public String house(){
        return "我只有一个小房子,但是以后别墅早晚是我的";
    }

    //在调用父类中的相同的方法时候,不能直接调用,
    //需要将父类方法放在其他的方法中或者变量中进行存储然后再使用
    String str = super.house();
}

public class Test {
    public static void main(String[] args) {
        //继承主要是通过子类对象来调用父类中的元素
        //所以创建对象的时候使用的子类对象,不要创建父类对象
        Zi z = new Zi();
        z.house();//如果子类和父类中有相同的方法,直接创对象调用的是子类自己的方法

        System.out.println(z.str);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值