• ----JAVA 继承----


    引言

    再java中你能创造出很多的类,但如果这些类中的成员再另一个类中也要使用,那么就要用到继承来实现指定类中成员的使用了

    那么也就可以写出这样的代码

    再类Cat中使用了类Animal的成员,这里我们称Cat叫子类,Animal叫父类

    概念

    通过对不同类中的相似的成员的抽取,实现代码的复用,还能实现多态(敬请期待)

    语法

    当然这样就要提到俩个关键字了 extends    super

    extends 

    用来表明继承的父子类关系,是由子类 extends 父类

     不过要注意的是一个子类只能继承一个父类,而一个父类可以被多给子类继承

    super

    对父类成员访问

    特别注意,若父类有自己写的有构造方法,且需要传入参数,那么子类必须用super()调用父类构造方法,且要放再第一行,有父才能有子,所以再初始化过程中是要先初始化父类的成员,再初始化子类的成员 

    若父类和子类有相同的变量,子啊调用时默认调用子类的,可以理解再寻找成员变量时是先再子类中寻找,若子类中没有,那么就在父类中寻找

    若要特别调用父类的成员,用 super. 访问就行

    super and this

    super()和this()是不能同时同时存在的,因为你子类的构造方法必定会要调用父类的构造方法,而你有调用了子类的另一个构造方法,这样就必定会形成一个循环

    再谈代码块初始化顺序

    静态代码块是在类加载时执行,所以最先执行

    之后的时实例代码块,类方法是在对象的创建后才会执行

    且父类的执行顺序再子类之上

    所以是

    父类静态 》子类静态 》 父类(实例 》(类方法)》 子类(实例 》类方法)  

    protected关键字

    既然说到了父子类关系,那么说下最后一个权限关键字,protected

    protected的权限是

     

    对与不同包的同子类用代码来表示

    且在不同包中只有子类能调用

    对于成员权限大小的决定,能小就小,为了代码安全性

    final关键字

    如果不想这个类被别人继承,那么就用final去修饰这个类

     下篇 多态

  • 相关阅读:
    机器学习之随机森林
    Word控件Aspose.Words for .NET.更新至最新v22.6,更多功能增强及漏洞修复
    Selenum八种常用定位(案例解析)
    win10上修改docker的镜像文件存储位置
    nginx学习(3)Nginx 负载均衡
    模板题:spfa求负环详解 虫洞
    通话蓝牙耳机什么牌子好?通话工作蓝牙耳机推荐
    【基于机械臂触觉伺服的物体操控】论文研读《A control framework for tactile servoing》
    rust迭代器
    Hive on Spark参数调优总结
  • 原文地址:https://blog.csdn.net/hadage233/article/details/139377750