zoukankan      html  css  js  c++  java
  • 2020.7.21

    一、今日学习内容:今天继续学习第五章内容,克隆及其super关键字。

    (1)克隆:

     1、对象中的克隆

       (1)克隆的限制

             Java对于克隆(Clone)有一些限制, 主要表现如下:

             a.被克隆的类必须自己实现Cloneable接口,以指示Object.cloneO) 方法可以合法地对该类实例进行按字段复制。Cloneable接口实际上是个标识接口,没有任何接口                方法。

             b.实现Cloneable接口的类应该使用公共方法重写Object.clone (它是受保护的)。某个对象实现了此接口就克隆它是不可能的。

             c.在Java.lang Object类中克隆方法是这么定义的:

                    protected object clone()
                    throws CloneNotSupportedException

                   创建并返回此对象的个副本。 表明是一个受保护的方法, 同个包中可见。 按照惯例,返回的对象应该通过调用super.clone 获得。

         (2)浅层克隆和深层克隆            

                a.浅层克隆:主要复制基本对象的值。
                b.深层克隆:当类存在聚合关系时,克隆就必须考虑聚合对象的克隆。可以复制引用类型的字段。

    (2)super关键字:

                   在Java继承中,子类可以使用super关键字调用父类的非私有属性和非私有方法,还可以调用父类的非私有构造方法。

                    a.使用super关键字调用父类属性:super.父类属性     

                    b.使用super调用父类的构造方法:使用super调用父类的构造方法与使用this 调用构造方法有异曲同工之处,如果使用super(),则是调用父类的无参构造方法:如果           super (参数),则是调用父类有参数的构造方法。

                   c.子类和父类构造方法的执行顺序:子类默认调用父类的无参构造方法,也就是说,子类的构造方法中会默认调用super()并且在构造方法的第一行;如果子类只提供有参的构造方法,则必须在子类的构造方法中调用父类的构造方法;执行完父类的构造方法后,再调用本类中的构造方法.

    二、遇到的问题:

    super关键字不理解。

    三、明日学习计划:

    继续学习5.2多态变化中的内容,阅读《大道至简》。

  • 相关阅读:
    倒计时浏览器跳转JavaScript
    C#.NET中使用存储过程的方法及其优点
    利用GridView控件导出其他文件(导出Excel,导出Word文件)
    c#.net用JavaScript实现 时钟显示
    程序执行一半后可以跳出对话框选择是否继续执行
    FreeMarker 中文官方参考手册 For Freemarker 2.3.23
    Spring技术内幕之Spring Data JPA-自定义Repository实现
    ehcache入门基础示例
    SpringData JPA 接口和方法
    Springboot中使用缓存
  • 原文地址:https://www.cnblogs.com/marr/p/13450827.html
Copyright © 2011-2022 走看看