JAVA 教程
当前位置| > 博客

JAVA 教程

Java是一门面向对象编程语言...
  • 合成与担任的团结 很多时候都要求将合成与担任两种技能团结起来利用。下面这个例子展示了如何同时回收担任与合成技能,从而建设一个更巨大的类,同时举办须要的构建器初始化事情:   //: PlaceSetting.java // Combining composition & inheritance class Plate { Plate(int i) { Syst... 继续阅读合成与担任的团结

    :
    2017-11-14
  • 上溯造型的问题 在第6章,各人已知道可将一个工具作为它本身的范例利用,可能作为它的基本范例的一个工具利用。取得一个工具句柄,并将其作为基本范例句柄利用的行为就叫作“上溯造型”——因为担任树的画法是基本类位于最上方。 但这样做也会碰着一个问题,如下例所示(若执行这个措施碰着贫苦,请参考第3章的3.1.2小节“赋值”): //: Music.java // Inheritance &... 继续阅读上溯造型的问题

    :
    2017-11-14
  • java的static内部类 为正确领略static在应用于内部类时的寄义,必需记着内部类的工具默认持有建设它的谁人封装类的一个工具的句柄。然而,如果我们说一个内部类是static的,这种说法却是不创立的。static内部类意味着: (1) 为建设一个static内部类的工具,我们不需要一个外部类工具。 (2) 不能从static内部类的一个工具中会见一个外部类工具。 但在存在一些限制:由于s... 继续阅读java的static内部类

    :
    2017-11-14
  • 主范例的过载 主(数据)范例能从一个“较小”的范例自动转酿成一个“较大”的范例。涉及过载问题时,这会稍微造成一些杂乱。下面这个例子展现了将主范例通报给过载的要领时产生的环境:   //: PrimitiveOverloading.java // Promotion of primitives and overloading public class PrimitiveOverload... 继续阅读主范例的过载

    :
    2017-11-14
  • 由构建器担保初始化 对付要领的建设,可将其想象成为本身写的每个类都挪用一次initialize()。这个名字提醒我们在利用工具之前,应首先举办这样的挪用。但不幸的是,这也意味着用户必需记着挪用要领。在Java中,由于提供了名为“构建器”的一种非凡要领,所以类的设计者可包管每个工具城市获得正确的初始化。若某个类有一个构建器,那么在建设工具时,Java会自动挪用谁人构建器——甚至在用户绝不知觉的环... 继续阅读由构建器担保初始化

    :
    2017-11-14
  • java埋没实施进程 “举办面向工具的设计时,一项根基的思量是:如何将产生变革的对象与保持稳定的对象脱离开。” 这一点对付库来说是出格重要的。谁人库的用户(客户措施员)必需能依赖本身利用的那一部门,并知道一旦新版本的库出台,本身不需要改写代码。而与此相反,库的建设者必需能自由地举办修改与改造,同时担保客户措施员代码不会受到那些变换的影响。 为到达这个目标,需遵守必然的约定或法则。譬喻,库措施员... 继续阅读java埋没实施进程

    :
    2017-11-14
  • java类担任的语法 担任与Java(以及其他OOP语言)很是细密地团结在一起。我们早在第1章就为各人引入了担任的观念,并在那章之后到本章之前的各章里不时用到,因为一些非凡的场所要求必需利用担任。除此以外,建设一个类时必定会举办担任,因为若非如此,会从Java的尺度根类Object中担任。 用于合成的语法长短常简朴且直观的。但为了举办担任,必需回收一种全然差异的形式。需要担任的时候,我们会说:... 继续阅读java类担任的语法

    :
    2017-11-14
  • 合成和担任进修总结 无论担任照旧合成,我们都可以在现有范例的基本上建设一个新范例。但在典范环境下,我们通过合成来实现现有范例的“再生”或“反复利用”,将其作为新范例基本实施进程的一部门利用。但假如想实现接口的“再生”,就应利用担任。由于衍生或派生出来的类拥有基本类的接口,所以可以或许将其“上溯造型”为基本类。对付下一章要报告的多形性问题,这一点是至关重要的。 尽量担任在面向工具的措施设计中获得... 继续阅读合成和担任进修总结

    :
    2017-11-14
  • java的匿名内部类 至此,我们已根基领略了内部类的典范用途。对那些涉及内部类的代码,凡是表达的都是“纯真”的内部类,很是简朴,且极易领略。然而,内部类的设计很是全面,不行制止地会碰着它们的其他大量用法——假使我们在一个要领甚至一个任意的浸染域内建设内部类。有两方面的原因促使我们这样做: (1) 正如前面展示的那样,我们筹备实现某种形式的接口,使本身能建设和返回一个句柄。 (2) 要办理一个巨... 继续阅读java的匿名内部类

    :
    2017-11-14
  • 要领过载 在任何措施设计语言中,一项重要的特性就是名字的运用。我们建设一个工具时,会分派到一个生存区域的名字。要领名代表的是一种详细的动作。通过用名字描写本身的系统,可使本身的措施更易人们领略和修改。它很是象写散文——目标是与读者相同。 我们用名字引用或描写所有工具与要领。若名字选得好,可使本身及其他人更易领略本身的代码。 将人类语言中存在细致不同的观念“映射”到一种措施设计语言中时,会呈现一... 继续阅读要领过载

    :
    2017-11-14