Java的的方法重载和方法重写

Java的方法重载和方法重写


Java的方法重写

Java的方法重写,发生在两个类中,一般用在继承中。子类的返回值,方法名,参数个数和参数类型都和父类一样,子类在重写父类方法时,对于重写的方法的修饰符必须范围大于或者等于父类的方法的修饰符.如果小于父类的会抛出异常.
举例子:

class Person{
     void say(int a){
        System.out.println("I am a person!");
    }
}
class Student extends Person{
    protected void say(char a){//这个不叫重写,因为参数的类型不一致,这个是自己定义的一个方法
        System.out.println("I am a student!");
    }
}
class Worker extends Person{
    public void say(int a){
        System.out.println("I am a worker");
    }
}

Java的方法重载

Java的方法重载,发生在一个类中。
重载必须满足以下条件:
1.必须是同一个类
2.方法名(也可以叫函数)一样
3.方法参数个数或参数类型(或参数的类型不是同一种的情况下参数顺序)不同一般用在继承中。子类的返回值,方法名,参数个数和参数类型都和父类一样
注:
方法的返回类型以及方法的修饰符都不能称为重载的条件
1.参数顺序指的是参数类型顺序,与参数名字无关,比如
show(int a,String a,int c)和show(int c,String b,int a)是一样的方法,非方
法重载,因为他们的参数类型顺序一样是int,String,int
2.方法重载与访问权限修饰符和方法返回值无关
在一个类中不允许定义两个方法名相同,并且参数签名也完全相同的方法。因为假如存在这样的两个方法,Java虚拟机在运行时就无法
决定到底执行哪个方法。参数签名是指参数的类型、个数和顺序。
举例子:

class Animal {
    public void say() {
        System.out.println("I can eat!");
    }

    public void say(String string) {
        System.out.println("I can say" + string);

    }

    protected int say(int a) {
        return a;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值