重载和重写

本文详细介绍了Java中的方法重载和重写概念。重载发生在同一类中,方法名相同但参数列表不同,与权限修饰符和返回类型无关。而重写发生在子类中,子类对父类同名同参方法的覆盖,要求权限修饰符不小于父类,返回值类型和异常类型遵循特定规则。通过示例代码展示了这两个概念的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重载:

要求:同一个类中,方法名相同,参数类型或参数个数不同
例如:类的构造器,Arrays类中重载sort();
在这里插入图片描述
在这里插入图片描述

如下方法尽管权限修饰符、返回值不同,但是仍然构成重载。
在这里插入图片描述
总结:重载条件就是“两同一不同”:类相同,方法名相同,参数类型或参数个数不同。 与权限修饰符,返回值类型,形参变量名等都没关系。

重写:

子类继承父类的方法后,对父类中同名同参的方法进行覆盖操作。重写后,子类对象调用的是子类中重写的方法。

class Person {
        private String name;
        private String id;

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }

        public String getId() {
                return id;
        }

        public void setId(String id) {
                this.id = id;
        }

        public String getInfo(){
                return "name:" + name + "id: " + id;
        }

}

public class User extends Person{
        private String birth;

        @Override
        public String getInfo() {
//                return super.getInfo() + "birth: " + birth;
                return "name: " + getName() + "id: " + getId() + "birth: " + birth; 
        }
}

方法声明:权限修饰符 返回值类型 方法名(形参列表) throws 异常类型{
//方法体
}

  1. 子类中重写的方法与父类中被重写的方法的方法名,形参列表相同。
  2. 子类中重写的方法的权限修饰符不小于 父类中被重写的方法的权限修饰符。
  3. 返回值类型:
    1.父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型只能是void。
    2.父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类(多态的体现)。
    3.父类被重写的方法的返回值类型是基本数据类型(比如:double),则子类重写的方法的返回值类型必须是相同的基本数据类型(必须也是double)。
  4. 子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型
    子父类中有static修饰的,不是重写。
class Person {
        
        private int handleNum(int i,int j) throws RuntimeException{
                
                return i / j;
        }

}

public class User extends Person{
        
        public int handleNum(int m,int n) throws Exception{
                
                return m / n;
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值