zoukankan      html  css  js  c++  java
  • 继承

    目标:

      理解继承的概念;

      掌握java中继承的实现方式;

      理解方法重写;

      理解最终类和最终方法;

       开闭原则:

           父类(基类、超类):1):共有属性、2):共有行为;

          ↑

         子类(派生类):1):有特定属性、2)有特定行为;

      指向方向永远是:子类指向父类

       关键字:extends(继承、扩展)

        ”public class XXXXX extends XXXXX(){”

                ↑        ↑

              子类类名     父类类名

      类与类的关系(判断具有继承关系)

        1:hos-a (组合): 拥有;    2:is-a (继承):是一个;

      

      单继承与多继承:

        在java中不允许子类有多个父类;

      在java继承都是单继承

        一个子类只能有一个父类;

      单继承:优点:类层次结构清晰;缺点:丰富度没有多继承的好;

        (单继承通过接口来弥补丰富度不够的问题)

       默认父类:Object (来自 java,JDK,API)

        方法名:共9个方法:先介绍:equals、toString、finalize

      finalize:在Object方法,用于GC垃圾回收程序调用,用于销毁对象(不用程序员调用)

      toString:通过方法名见名知意,返回一个类一个对象(字符串)的描述;

        打印对象、或对对象进行字符串操作的时候就是在调用toString;而来自Object返回:全类名 @ 引用的16为进制类(例“com.lovo.bean.XXXX@11010001” 类的限定名或类全称);

        根据子机的需要重写toString;默认情况下来自Object;

      equals:

        辨析:1)equals:判断两个对象在业务上是否相等;

           2)“==”:判断左右两边两个类返的值相同,假如两边是引用类型,但不能判断两边内容; (判断两个引用是否指向同一个对象)

      方法重写:

        子类将父类的行为重新实现一次,就是方法的重写;

        只是实现部分变一个;  方法名:父类要与子类一样;

      

    继承

    1:类与类之间的 is-a关系:

        父类(基类、超类):1):共有属性、2):共有行为; 

         ↑(通过extends实现)

        子类(派生类):1):有特定属性、2)有特定行为;

      1):父类所拥有的属性、行为,子类自动具备:(1):父类设计时考虑共有,子类设计时考虑特有;(2):java单继承:优:内层清晰;缺:丰富度不够;

      2):构造方法不能被继承:(1):语法原因;(2):含义原因;

    2:Object  → 所有类与数组的根类 → 共9个重要方法:先介绍:equals、toString、finalize

    3:方法重写:

      1:方法名必须保持一致;

      2:参数列表必须保持一致;

      3:返回类型必须保持一致;

      4:访问修饰符必须大于等于父类: private、public;

      5:子类重写后的方法不能抛出比父类重写前的方法更多的异常;

      辨析:方法重写:子类在父类继承的方法重新实现一次;

           方法重载:在同一个类中,拥有多个同名方法,参数列表不同,各有各的实现;

    4:构造方法:

      构造方法不能被继承:子类不能修改或控制父类;

    5:内存:

      内存叠加:先调用父类构造,产生父类对象部分,在调用子类构造,产生子类对象部分,叠加在一起构成一个完整的子类对象;

                

                    先调用父类属性,在叠加子类属性;

    6:辨析:

      this(指本类):

        this.        此时代表了当前对象;能操作定义在本类上的属性和方法;能操作定义在父类上的被访问修饰符允许访问的属性方法;

        this(  ) 表示调用本类的其它构造,只能写在构造方法中,只能写在构造方法的第一句;

        super(指父类):

        super.  此时代表当前对象的父类对象部分,不能操作定义在本类上的属性和方法,能操作定义在父类上的被访问修饰符,允许属性和方法,只有当在本类中调用被重写方法,重写钱的效果是,才调用super(调父类);

        supre( )调用父类指定的构造方法,只能写在构造方法中;只能写在构造方法的第一句;supre( )不写会有默认,调用父类的公共无参构造;

    7:final关键字:(不能变)

      当用final修饰一个类,这个类不能被继承,称为最终类,终态类;

      “public final class xxxx extends xxxx( ){"                可以修饰变量;

            ↑                                 可以修饰方法;

         不可在继承                             可以修饰类;

      这种类是不能产生子类; 

      方法用final修饰就表示该方法不能被重写
      ”public final void methodA(){“

      

      

  • 相关阅读:
    jacob根据word模板和书签插入内容,在jacob1.14.3测试成功...
    在.NET上如何根据字符串动态创建控件
    rabbitvcs一款在Linux平台下类似于乌龟的SVN客户端
    平时摘录开发经验
    C#中treeview绑定xml
    ubuntu下SVN服务器安装配置
    网页中的一些常用快捷键
    python 数据类型
    python 删除空文件夹脚本
    删除指定文件的python脚本
  • 原文地址:https://www.cnblogs.com/scxu28/p/6135505.html
Copyright © 2011-2022 走看看