Java零基础-方法的重载与覆盖

方法语法结构:

[修饰符列表] 返回值类型 方法名(参数列表){

方法体;

}

例:

public static void main(String[] args){
    System.out.println("HelloWorld");
}

注:修饰符列表不是必须的。

方法的重载/Overload

方法重载又被称为:overload。如果多个方法的功能相似,则可以考虑使用方法重载。

在同一个类中,方法名相同,参数列表不同(参数数量不同、参数顺序不同、参数类型不同),则构成方法重载。

方法重载与方法的返回值无关。

例:

public class OverloadTest{
    //以下两个方法构成重载
    public static void m1(){}
    public static void m1(int a){}

    //以下两个方法构成重载
    public static void m2(int a,double b){}
    public static void m2(double a,int b){}

    //以下两个方法构成重载
    public static void m3(int x){}
    public static void m3(double x){}

    //以下两个方法不构成重载,而是方法重复
    //public static void m4(int x,int y){}
    //public static void m4(int y,int y){}

    //以下两个方法不构成重载
    /*public static void m5(int x){}
    public static int m5(int x){
        return 1;
    }*/
}

 

方法的覆盖/Override

方法覆盖又被称为方法重写。当父类中的方法已经无法满足当前子类的需要,子类有必要将父类中继承过来的方法重新编写,这个重新编写的过程称为方法的重写/覆盖。

构成方法重写的条件为:

方法重写发生在具有父子关系的父子类之间,重写的方法返回值类型相同,方法名相同,型参列表相同;

方法重写的时候,访问权限不能更低,可以更高。如:父类中方法为public,则子类中重写的方法不能为private;父类中方法为protected,则子类中重写的方法可以为public;

方法重写的时候,抛出的异常不能更多,只能更少。

例:

public class Animal{
   public void move(){
         System.out.println("动物在移动");
    }
}
public class Cat extends Animal(){
    public void move(){
        System.out.println("猫在爬树。");
    }
}
public class Bird extends Animal(){
    public void move(){
        System.out.println("鸟儿在飞翔。");
    }
}

注意:

私有方法不能继承,所以不能覆盖;构造方法不能继承,所以不能覆盖;静态方法不存在覆盖。

覆盖只针对方法,不针对属性。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值