Java之覆写/重写和重载

一、覆写/重写

覆写:子类定义了与父类相同的方法或属性。

覆写分为方法覆写和属性覆写

1、方法覆写

方法覆写/重写:子类定义了与父类方法名称、参数类型及个数完全相同的方法。但是被覆写不能够拥有比父类更为严
格的访问控制权限。

方法重写:一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A

如:

class Person{
    public void print(){
    System.out.println("1.[Person]类的print方法");
    }
}
class Student extends Person{
    public void print(){
    System.out.println("2.[Student]类的print方法");
    }
}
publicclassTest{
    public static void main(String[]args){
    new Student().print();
    }
}

方法覆写时需注意:

1.你当前使用的对象是通过哪个类new的。

2.当调用某个方法,如果该方法已经被子类所覆写了,那么调用的一定是被覆写过的方法。

同时还需要注意:同时出现这三种访问控制权限:private<default<public时。那么也就意味着如果父类使用public进行方法声明,那么子类必须也使用public;如果父类使用default,那么子类可以使用default或者public。

2、属性的覆写

当子类定义了和父类属性名称完全相同的属性的时候,就成为属性的覆盖。

如:

class Person{    
    public String info = "Person";
}
class Students extends Person{
    public String info = "Students";
}
public class Test{
    public static void main(String[] args){
        System.out.println(new Students().info);
    }
}


二、重载

方法重载:方法名称相同。参数的类型或个数不同。
方法的签名:指的是方法名与参数,返回类型不是签名的一部分。
不能有两个名字相同、参数类型也相同却返回不同类型值的方法 。

如:

public class Test{
    public static void main(String[] args){
    System.out.println(add(5,5));
    System.out.println(add(5,5,55));
}
public static int add(intx,inty){
    return x+y;
}
public static int add(intx,inty,intz){
    return   x+y+z;
 }
}

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值