zoukankan      html  css  js  c++  java
  • 【java】继承

    继承(面向对象的三大特征之一,继承是多态的前提,没有继承,就没有多态)

      继承就是指子类继承父类的行为特征,使得子类具有父类的相同的内容

    继承主要解决的问题就是:共性抽取(有些代码存在重复,导致代码量大且臃肿)

    特点:

      1.子类可以拥有父类的内“内容”

      2.子类还可以拥有自己专有的内容

    类的继承格式

      在java中可以通过extends关键字表示继承

    继承重名的三种变量

      局部变量:                           直接写成员变量

      本类的成员变量:                this.成员变量名

      父类的成员变量                    super.成员变量

    ---------------------------------------------------------------------------------------------------

    方法的重写(在重写方法前加入override注解)

    为什么在继承中需要继承的重写?

      当父类的不满足需求的时候,这个时候就需要定义一个新的子类来重复利用父类的共性内容,并添加新的内容

    方法重写的原则

    1.保证父子类的方法名跟参数列表相同

    2.子类方法的返回值必须小于等于父类返回值范围

    3.子类方法的权限必须大于等于父类方法的权限

    方法的重载跟方法重写的区别?

      方法重载:overrload(解决了功能相同方法名不同的问题:方法名相同,参数列表不同)

      方法重写:oveerride(解决了父类不满足当前需求,子类扩展父类的问题:方法名跟参数相同,方法体不同)

    二者无关系,只是名字相似

    继承的三个特点:

    1.单继承

    2.可以多级继承

    3.一个父类可以给多个子类继承,一个子类的父类却是唯一的

    继承内存分析

      先加载父类跟子类的字节码class文件到方法区中,然后先在堆中创建父类,再创建子类,并把子类的地址给予在栈中创建的对象名

      (继承中,构造器是先调用父类的构造器,再调用子类的构造器,有同名方法先调用子类方法,如果子类没有,再调用父类)

  • 相关阅读:
    windows下的tfjs-node安装异常总结
    微信小游戏广告位iphonex底部适配问题
    JS做深度学习3——数据结构
    JS做深度学习2——导入训练模型
    ASP.NET MVC4网站搭建与发布【最新】
    JS做深度学习1——偶然发现与入门
    聊聊H5与JS近几年的黑科技
    Mysql中让两个字段不同时相同的方法
    JUnit4在Eclipse中的使用
    编写DAO,通过JdbcTemplate操作数据库的实践
  • 原文地址:https://www.cnblogs.com/Cccc4/p/13127641.html
Copyright © 2011-2022 走看看