java方法覆写与方法重载小结

初学java,对方法覆写与方法重载存有疑惑,特此写下小结,帮助理解。

方法的重载(同类中)

同一个类中,方法名相同,参数不同就是重载,与返回值类型无关,实际上是多个方法,仅仅名字相同而已。
类似生活中,大厨炒菜,虽然名字一样,但是每次放的作料不同,做出的菜也不同

public class FunctionDemo {
    int price;
    public static void main(String[] args) {
       FunctionDemo cooker = new FunctionDemo();
       cooker.cook();//调用无参cook方法
       System.out.println(cooker.cook(18));//调用带参且返回值不同的cook方法

    }

    void cook(){
        System.out.println("炒个青椒肉丝 下酒");
    }

    int cook(int price){//重载 仅仅名字相同
        this.price = price;
        System.out.println("天热了 来盘拍黄瓜");
        return price;
    }
}

/*运行结果:
炒个青椒肉丝 下酒
天热了 来盘拍黄瓜
18
*/
方法的覆写(不同类中)

方法的覆写,存在继承关系,当父类的方法不能满足子类的需求的时候,就需要对其进行覆写。只能调用一个方法。
覆写注意:
1.需要继承关系
2.方法签名完全一致,包括方法名和参数列表
3.子类方法 访问权限比父类高
4.子类方法 返回值类型兼容父类,并且比父类低
5.关键字final 或者 static修饰的 不能被覆写
6.构造方法不能被覆写

public class FunctionDemo1 {
    public static void main(String[] args) {
        Cooker1 cooker1 = new Cooker1();
        cooker1.cook();
    }
}

class Cooker{
    int cook(){//签名完全一致
        System.out.println("炒个青椒肉丝 下酒");
        return 1;
    }
}

class Cooker1 extends Cooker{//继承Cooker类
    public int cook(){//父类方法不能满足子类要求 需要覆写
        System.out.println("天热了 来盘拍黄瓜");
        return 2;
    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值