JAVA—覆写(override)

JAVA—覆写(override)

定义:

子类定义了与父类完全相同的方法和属性,这种操作就叫做覆写
定义在两个类中,除了访问权限 (返回值 参数 方法名完全一样),子类不能比父类有着更加严格的访问控制权限

属性的覆写

没有意义,因为属性通常会用private封装起来,子类不知道有这个属性

子类不能直接调用

方法的覆写

第一点:.发生在有继承关系的类中,

第二点:子类方法与父类方法的方法名称、返回值类型、参数个数类型完全相同;

第三点:被覆写的方法不能比原方法有更为严格的访问权限

class Person{
    public void print(){
        System.out.println("1.滚你妈逼");
    }
}
class Student extends Person{
    public void print(){//方法的覆写
        System.out.println("2.都去死,老子今天心情不好");
    }
}

public class Day10{
public static void main(String[] args){
        Student stu =new Student();
        Person per=new Person();
        per.print();
        stu.print();
    }
}

上述方法代码的运行结果

2.都去死,老子今天心情不好

要看对象到底调用了 原方法还是 覆写后的方法有两个要点

1.看当前对象是用哪个类new 的

2.当你掉用某个方法时,如果该方法已经被覆写则一定调用覆写后的方法

上述第三点:被覆写的方法不能比原方法有更为严格的访问权限

1.被覆写前的方法不能用private修饰,如果用该关键字修饰,则子类“覆写”的方法相当于定义了一个新的方法,因为子类不知道父类有一个相同的类;

2.如果覆写前的类用default 修饰 被覆写的方法能用 default和public修饰

如果覆写前的类用public 修饰 被覆写的方法能用public修饰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值