`
这些年
  • 浏览: 399885 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

复用类

 
阅读更多

1:组合

       即将对象引用 置于新类中

2:继承

       当创建一个类时,总是在继承,它们对Object继承

       为了继承一般都把所有的成员指定为private,将所有方法指定为public

    继承的初始化:

              继承并不只是复制基类的接口,当创建一个导出类对象时,该对象已经包含一个基类对象,被包装在导出类对象内部

super(int i);  //初始化带宽参数的构造方法,放在其它构造方法的第一行

 3:代理

         在类内部创建私有对象(是它的类成员变量)

         通过方法调用持有对象的方法

4:名称屏蔽

       子类中可以重载父类中的方法

        @Override表示方法不能重载

5:protected关键字

        表明,就类用户而言,它是pviate,但对于子类它又是包访问权限 

6:向上转型

        子类是父类的一个超集,它可以含有比基类更多的方法,所以是安全的

     组合与继承的取舍

               使用继承最有力的判断是,需不需要从子类向父类转型

7:final关键字

           可用范围:数据,方法,类

                  1)数据:

                        在java中,类常量必须是基本类型,并且以关键字final表示,定义时必须进行赋值(不是初始                         化 ,可以在运行时赋值),

一个即是static又是final的域只占一段不能改变的存储空间
对于引用是final的,表示引用不可变,但引用的对象自身可变     //引用不能再次指定新一对象

                         空白final:可以不对final类成员初始化;

final域初始化的位置 写道
1:创建时就初始化
2:在构造方法中初始化

                          final参数(方法中的参数是final的):你无法在方法中更改参数引用所指向的对象

                     2)方法:                       

使用final方法的原因 写道
1:防止任何继承类修改它,并且不会被覆盖             //现在只考虑这个
2:效率(内嵌调用,消除方法调用开销)

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

                   3)类:

                      final类禁止继承。

            忠告:将方法指明为final,是明智的(防止其它人覆盖你的方法)

8:初始化及类加载

        每个类的编译代码都存在于它自己的独立文件中,该文件只在需要使用程序代码时才会被加载,定义为static的代码只会加载一次

        继承与初始化:

                1):加载main类

                 2):有父类则加载父类(父类还有父类,就加载父类的父类)

                 3):先加载父类的static方法,在加载子类的static

                 4):初始化所有基本类型字段与引用 

                 5):调用父类构造方法,调用子类构造方法

                 6):其它

分享到:
评论

相关推荐

    第七章 复用类

    在IT行业中,复用类是一种重要的编程概念,它关乎代码的效率、可维护性和重用性。本章我们将深入探讨“第七章 复用类”的主题,主要关注如何通过类的复用来提高软件开发的质量和速度。在这个章节,我们可能涉及的...

    C++:通过私有(private)继承复用类实现工厂函数详解

    C++:通过私有(private)继承复用类实现工厂函数详解。

    Java组件开发(2)与时间和日期有关的可复用类

    Java组件开发(2)与时间和日期有关的可复用类

    Java编程复用类代码详解

    Java 编程复用类代码详解 Java 编程复用类代码详解是指在 Java 编程中重用已经存在的类代码,以达到提高开发效率和代码可读性的目的。下面是 Java 编程复用类代码详解的相关知识点: 一、组合 组合是 Java 编程...

    自己写的QT移动窗体框架(可复用类)

    在这个特定的案例中,我们关注的是一个自定义的QT移动窗体框架,该框架设计为可复用,这表明它可能包含了特定的类和方法,使得在不同的项目中轻松地移动和操作窗口变得简单。 "自己写的QT中移动窗体框架"很可能包括...

    iOS方便复用的类和方法总结.zip

    这个名为"iOS方便复用的类和方法总结.zip"的压缩包很可能包含了开发者们在实践中总结的一些常用且高效的类和方法,旨在帮助我们更好地理解和利用iOS框架。在这个开源项目"Olla4iOS-master"中,我们可以期待找到一...

    Android 开发使用PopupWindow实现弹出警告框的复用类示例

    在这个示例中,我们看到如何通过创建一个复用类来方便地管理和显示一个警告框,这个警告框包含了“确定”和“取消”两个按钮,用户可以根据需求定制这两个按钮的点击事件。 首先,`MyPopupWindow` 类是一个抽象类,...

    PHP Trait代码复用类与多继承实现方法详解

    本文实例讲述了PHP Trait代码复用类与多继承实现方法。分享给大家供大家参考,具体如下: 前言 众所周知,一直以来PHP和很多语言一样是单继承的语言,但是常常在编码过程中,我们需要在当前类中使用两个或两个以上的...

    tsdemux (TS解复用源代码)

    《TS解复用技术详解——以tsdemux为例》 在多媒体处理领域,TS(Transport Stream,传输流)解复用是一项至关重要的技术。本文将以开源项目“tsdemux”为例,深入探讨TS流的解析过程及其核心原理,旨在帮助读者理解...

    类的继承与代码的复用

    {实验报告需单独下载,不过源代码里有注释} ...总结:先建立一个抽象类shape,然后建立一个核心类求体积(面积*高),再建立各种实例图形(对抽象类的继承),直接可输出图形体积,即实现了代码的复用。

    CMMI 代码复用报告 模板

    **CMMI 代码复用报告模板详解** 代码复用是软件开发中的一项关键实践,旨在提高效率,减少错误,并促进代码的可维护性。CMMI(Capability Maturity Model Integration,能力成熟度模型集成)是衡量软件开发过程质量...

    java 简答可复用动态代理类

    在Java中,动态代理主要通过`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口来实现。下面将详细解释这两个关键组件以及如何使用DOM4J库和CGLIB实现动态代理。 1. **Java动态代理原理** -...

    复用方便。由于语法类和具体的语法结构一一对应,所以在复用语法结构时,可以直接得到能被复用的语法类,不需要经过查找过程。

    标题中的核心知识点是语法类与语法结构的对应关系,强调了在复用语法结构时的便利性,因为可以直接获得可复用的语法类,避免了查找的过程。这体现了编程语言设计中的面向对象特性,即通过类来抽象和封装特定的语法...

    OptiXOSN2500单板分类说明.pdf

    4. **波分复用类单板**: 虽然文中没有具体提到波分复用(WDM)类单板,但通常OptiX OSN2500系统也会包含这类单板,用于多波长光信号的复用和解复用,以提高光纤的传输容量。 5. **辅助类单板**: 辅助类单板主要...

    UICollectionView复用

    在注册单元格类或 nib 文件时,需要指定这个标识符,以便系统能正确地从复用池中取出或创建相应的单元格。 3. 注册单元格:在UICollectionViewDataSource的实现中,需要通过`register(_: ...

    通信信号频谱与信道通频带知识.pptx

    * 时分复用和码分复用:数字通信则主要采用时分复用和码分复用技术。 通信系统 通信系统是实现消息传递所需的全部技术设备和传输媒介的总和。其模型方框图由信源、发送设备、信道(包括噪声)、接收设备和信宿五...

    软件复用与产品线

    例如,在编写代码时可能发现某些函数或类能够被其他项目复用,这种即兴的复用也是一种有效的复用策略。 综上所述,软件复用与产品线专题讲义为我们提供了一个全面的理解框架,解释了软件复用的必要性、过程、类型和...

    AD模块复用详细解说

    Channel Offset是用于标识同一类信号通道偏移量的参数,保持一致性是实现模块复用的前提。 2. 器件不能被锁定,锁定的器件无法参与复用过程,因此在开始前应检查并解除器件锁定状态。 3. 如果相同模块位于同一张原理...

Global site tag (gtag.js) - Google Analytics