零基础学Java—重写(二十)

Posted 王同学要努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—重写(二十)相关的知识,希望对你有一定的参考价值。

【零基础学Java】—重写(二十)

一、重写和重载

  • 重写(Override):在继承关系当中,方法的名称一样,参数列表一样。重写又称为方法的覆盖、覆写。
  • 重载(Overload):方法的名称一样,参数列表不一样
  • 方法的覆盖重写的特点:创建的是子类对象,则优先使用子类方法

方法覆盖重写的注意事项:

  • 必须保证父子类之间方法的名称相同,参数列表也相同
  • @Override:写在方法的前面,用来检测是不是有效的正确覆盖重写,这个注解就算不写,只要满足要求,也是正确的方法覆盖重写
  • 子类方法的返回值必须小于等于父类方法的返回值
  • java.lang.Object类是所有类的公共最高父类(祖宗类), java.lang.String就是Object的 子类
  • 子类方法的权限必须【大于等于】父类方法中的权限修饰符
  • 小扩展提示:public>protected>(default)>private( 备注:(default)不是关键字default ,而是什么都不写,留空)
    二、在这里插入代码片
public class Phone 
    public  void call()
        System.out.println("打电话");
    

    public void send()
        System.out.println("发短信");
    

    public void show()
        System.out.println("显示号码");
    

//定义一个新手机使用老手机作为父类
public class newPhone extends Phone 

    @Override
    public void show() 
        super.show();//把父类的show方法拿过来重复使用
        //自己子类再来添加更多的内容
        System.out.println("显示姓名");
        System.out.println("显示头像");
    


/**
 * @author :CaiCai
 * @date : 2022/4/9 15:15
 */
public class demo01Phone 
    public static void main(String[] args) 
        Phone phone =new Phone();
        phone.call();
        phone.send();
        phone.show();
        System.out.println("=======");

        newPhone NewPhone=new newPhone();
        NewPhone.call();
        NewPhone.send();
        NewPhone.show();
    


二、继承中构造方法的访问特点

继承关系中,父子类构造方法的访问特点:
1、子类构方法中有一个默认隐含的super()调用,所以一定是先调用的父类构造方法,后执行的子类构造

2、子类构造可以通过super关键字来子类构造调用父类重载构造

3、super的父类构造调用,必须是子类构造方法的第一个语句,不能一个子类构造调用多次super构造

总结:子类必须调用父类构造方法,不能赠送super(),写了则用写的super指定调用,super只能有一个,还必须是第一个

三、super关键字的三种形式

  • 在子类的成员方法中,访问父类的成员变量
  • 在子类的成员方法中,访问父类的成员方法
  • 在子类的构造方法中,访问父类的构造方法

《新程序员》:云原生和全面数字化实践 50位技术专家共同创作,文字、视频、音频交互阅读

以上是关于零基础学Java—重写(二十)的主要内容,如果未能解决你的问题,请参考以下文章

零基础学Java—发红包案例(二十三)

零基础学Java—接口(二十四)

零基础学Java—笔记本USB接口案例(二十八)

零基础学Java—final关键字与四种用法(二十九)

零基础学Java—对象的向上和向下转型(二十七)

从零开始学深度学习编译器二十,MLIR的Pattern重写机制