zoukankan      html  css  js  c++  java
  • 第7章 复用类

          ·复用代码

               ·复制代码,并加以改变

                ·代码重用机制~组合(功能)、继承(功能 & 形式)

          7.1 组合语法

               ·组合:将对象引用<置于>新类中即可

                     ·(对象类型)数据域初始化位置:

                           1.定义的地方——构造器被调用前初始化

                           2.构造器中

                           3.惰性初始化

                           4.使用实例初始化(实例代码块)

          7.2 继承语法

               ·创建一个类时,总是在继承:直接或间接地继承自Object

                     1.显式继承:程序员用extends指出

                     2.隐式继承:继承Object

               ·Java的标准根类:Object

               ·extends:自动得到基类所有的域和方法(含静态域和静态方法)        

          7.3 代理

               ·代理:

                     ·介于继承和组合之间

                     ·将成员对象<置于>所要构造的类中(就像组合),但与此同时,在新类中暴露了该成员对象的       所有方法(就像继承)

                     ·使用代理可以拥有更多的控制力,因为可选择暴露成员对象的方法子集

          7.4 结合使用组合和继承

               ·确保正确清理

         

          7.5 在组合与继承之间选择

               ·组合技术:适用于想在新类中使用现有类的功能而非它的接口的情形

          7.6 protected关键字

          7.7 向上转型

               ·向上转型过程中,类接口中唯一可能发生的事情是丢失方法

               ·用组合还是继承:问自己是否需要从新类向基类进行向上转型

         

          7.8 final关键字

               ·final数据:

                     ·static数据,只存一份,可变

                     ·static final数据(编译期常量,大写表示),只存一份,且基本类型不可变、引用类型对象引用不可变(取决于是否为不可变类)

                     ·final基本类型数据:数值恒定不变

                     ·final引用类型数据:对象引用恒定不变(不能让它指向另外一个对象),但是对象未必不可改变(取决于是否为不可变类)

                     ·空白final

                     ·匿名内部类中使用final参数

                     ·类中所有的private方法都隐式地指定为final的

               ·final方法:禁止覆盖

               ·final类:禁止继承

         

          7.9 初始化及类的加载

               ·类的代码在初次使用时才加载

                     ·加载情形:

                          ·创建第一个对象:构造器调用(隐式的static方法)

                          ·静态成员调用:静态域或静态方法的访问

  • 相关阅读:
    尬聊攻略丨过年回家,你最怕被亲戚问什么?
    有人被盗刷900次? 支付宝发布年终“神反转”盘点
    470余万条疑似12306用户数据遭贩卖 嫌疑人被刑拘
    利用Python实现对Web服务器的目录探测
    栈空间溢出
    KB奇遇记(6):搞笑的ERP项目团队
    探寻不同版本号的SDK对iOS程序的影响
    阅读《Android 从入门到精通》(24)——切换图片
    leetcode
    Grunt的配置及使用(压缩合并js/css)
  • 原文地址:https://www.cnblogs.com/InformationGod/p/8514586.html
Copyright © 2011-2022 走看看