万象云档 本次搜索耗时 1.353 秒,为您找到 298 个相关结果.
  • 7.8 通过继承进行设计

    7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 向下转换与运行期类型识别 7.8 通过继承进行设计 学习了多态性的知识后,由于多态性是如此“聪明”的一种工具,所以看起来似乎所有东西都应该继承。但假如过度使用继承技术,也会使自己的设计变得不必要地复杂起来。事实上,当我们以一个现成类为基础建立一个新类时,如首先选择继承,会使情况变得异常...
  • 第三题 猴子吃桃

    291 2025-05-31 《经典算法题》
    第三题 猴子吃桃 第三题 猴子吃桃 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾就多吃了一个。第二天早上又将剩下的桃子吃了一半,还是不过瘾又多 吃了一个。以后每天都吃前一天剩下的一半再加一个。到第10天刚好剩一个。问猴子第一天摘了多少个桃子? 分析: 这是一套非常经典的算法题,这个题目体现了算法思想中的递推思想,递归有两种形式,顺推和...
  • 5.4 类访问

    5.4 类访问 5.4 类访问 在Java中,亦可用访问指示符判断出一个库内的哪些类可由那个库的用户使用。若想一个类能由客户程序员调用,可在类主体的起始花括号前面某处放置一个public 关键字。它控制着客户程序员是否能够创建属于这个类的一个对象。 为控制一个类的访问,指示符必须在关键字class 之前出现。所以我们能够使用: public c...
  • 第9章 异常差错控制

    第9章 异常差错控制 第9章 异常差错控制 Java的基本原理就是“形式错误的代码不会运行”。 与C++类似,捕获错误最理想的是在编译期间,最好在试图运行程序以前。然而,并非所有错误都能在编译期间侦测到。有些问题必须在运行期间解决,让错误的缔结者通过一些手续向接收者传递一些适当的信息,使其知道该如何正确地处理遇到的问题。 在C++和其他早期语言中,...
  • 1.5 练习

    1.5 练习 1.5 练习 计算机的主要部件有哪些?工作机制是怎样的? 什么是机器语言、汇编语言和高级编程语言? 高级语言的编译和解释分别是怎样的过程? 什么是计算? 为什么计算机是通用的(即可以应用于各行各业)? 算法和程序有何异同? 计算思维建立在什么原则之上? 请回顾你在玩扑克牌时,抓牌过程中是如何整理顺序的。 ...
  • 第6章 类复用

    第6章 类复用 第6章 类复用 “Java引人注目的一项特性是代码的重复使用或者复用。但最具革命意义的是,除代码的复制和修改以外,我们还能做多得多的其他事情。” 在象C那样的程序化语言里,代码的重复使用早已可行,但效果不是特别显著。与Java的其他地方一样,这个方案解决的也是与类有关的问题。我们通过创建新类来重复使用代码,但却用不着重新创建,可以直接...
  • 4.6 总结

    4.6 总结 4.6 总结 作为初始化的一种具体操作形式,构造器应使大家明确感受到在语言中进行初始化的重要性。与C++的程序设计一样,判断一个程序效率如何,关键是看是否由于变量的初始化不正确而造成了严重的编程错误(Bug)。这些形式的错误很难发现,而且类似的问题也适用于不正确的清除或收尾工作。由于构造器使我们能保证正确的初始化和清除(若没有正确的构造器...
  • 9.3 标准Java异常

    9.3 标准Java异常 9.3.1 RuntimeException 的特殊情况 9.3 标准Java异常 Java包含了一个名为Throwable 的类,它对可以作为异常“抛”出的所有东西进行了描述。Throwable 对象有两种常规类型(亦即“从Throwable 继承”)。其中,Error 代表编译期和系统错误,我们一般不必特意捕获它们(除在...
  • Vendor 目录

    Vendor 目录 建议 为何使用一个vendor 目录? Vendor 目录 随着 Go 1.5 的发布,vendor/ 目录除了GOPATH 和GOROOT 之外的依赖包的解析位置。Go 1.6 之前这是一个需要设置环境变量GO15VENDOREXPERIMENT=1 才能启用的功能,Go 1.6 中是一个默认启用的功能。 _注意,即使你使...
  • 16.2 观察器模式

    16.2 观察器模式 16.2 观察器模式 观察器(Observer )模式解决的是一个相当普通的问题:由于某些对象的状态发生了改变,所以一组对象都需要更新,那么该如何解决?在Smalltalk的MVC(模型-视图-控制器)的“模型-视图”部分中,或在几乎等价的“文档-视图结构”中,大家可以看到这个问题。现在我们有一些数据(“文档”)以及多个视图,假定...