zoukankan      html  css  js  c++  java
  • 17_继承

    继承是指:

    1.场景:

      如果多个类存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为
      那么多个类无需再定义这些属性和行为,只需要继承那一个类即可
      其中,多个类可以称为子类,单独的那个类称为父类、超类、基类
      继承描述的是事物之间的所属关系,这种关系是: is-a的关系。
      父类更通用,子类更具体。我们主要是通过继承,可以使事物之间形成一种关系体系。

    2.定义:

      就是子类继承父类的属性和行为,使得子类具有与父类相同的属性相同的行为。
      子类可以直接访问父类中的非私有的属性和行为。

    3.好处:

      1.提高代码的复用性
      2.使得类与类之间产生了关系,是多态的前提

    4.继承格式:

    通过关键字extends,可以声明一个子类继承另一个父类
            ckass  SuperClass{
                    ...
                    
            }
            class Subclass extends SuperClass    {
                ...
            }        

    5.继承后的特点---成员变量

      1.成员变量不重名
        如果子类父类中出现不重名的成员变量,这时访问是没有影响的。
        如果重名,这时访问是受影响的。
        子父类中出现了同名的成员变量时,在子类中需要访问父类中非私有成员变量,就需要是由super关键字,
        super修饰父类成员变量,类似于关键字this
      2.使用格式:
        super.父类的成员变量名;
        备注:父类中的成员变量是非私有的,子类才可以直接访问,
        若是父类中的成员变量私有,子类不能直接访问。
        通常编码时,我们一般遵循封装的原则。
        可以在父类中提供公共的setXxx()和grtXxx()方法。

    6.继承后的特点---成员方法

      1.成员方法不重名
        如果子类父类中出现不重名的成员方法时,这时的调用没有任何影响。
        对象调用方法时,会先在子类中查找有没有对应的方法,若子类存在就会执行子类中的成员方法
        若不存在就会执行负累之中相应的方法。
      2.成员方法重名--重写(Override)
        方法重写:子类出现与父类一模一样的方法(返回值类型,方法名,参数列表都相同),
        会出现覆盖效应,也称为重写或者复写。声明不变,重新实现
      3.重写的应用
        子类可以根据需要,定义特定于自己的行为,即沿袭了父类的功能名称,
        又能根据子类的需要重新实现父类的方法,从而进行扩展增强。
        比如:新的手机 来电显示,
      备注:
        1.子类方法重写覆盖父类方法时,必须保证权限大于等于父类的权限。
        2.子类方法重写父类方法时,返回值类型,方法名,参数列表必须一模一样。
        在没有使用@Override 时,子类定义父类方法时,方法名和参数类列表可变,返回值类型不可变。

    7. 继承的特点:

      1.java只支持单继承,不支持多继承。
      2.java支持多层继承(继承体系)
      3.子类和父类是一种相对概念。
      备注:顶层父类是Object类,所有的类默认都继承Object类。

  • 相关阅读:
    ParallelsDesktop在windows 10虚拟机重启后分辨率无法保存的问题解决方案
    Windows10 2021年5月功能更新(21H1)的三种方式
    Database "mem:XXX" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 90149/90149 解决方案
    Win7/8下提示OpenSCManager failed 拒绝访问 解决方案
    将 Windows 更新代理更新到最新版本
    解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题
    【Windows】U 盘装系统,无法格式化所选磁盘分区[错误: 0x8004242d]解决方案
    Boot Camp列表-苹果电脑Windows驱动下载
    selenium4 Timeouts is deprecated
    Selenium4实践1——对比Selenium3,Selenium4更新了什么?
  • 原文地址:https://www.cnblogs.com/rxqq/p/13921823.html
Copyright © 2011-2022 走看看