东坡下载:内容最丰富最安全的下载站!

帮助|文件类型库|最新更新|下载分类|排行榜

桌面主题教育相关素材下载字体下载外语学习高考考研建筑图集高考作文书法字体桌面壁纸CAD图纸考研素材

首页硬件驱动硬件教程 → Thinking In Java 4th(java编程思想第四版) pdf格式高清免费版

Thinking In Java 4th(java编程思想第四版)

Thinking In Java 4th(java编程思想第四版)pdf格式高清免费版

  • 大小:1.9M
  • 语言:中文
  • 平台:WinAll
  • 更新:2015-01-16 10:23
  • 等级:
  • 类型:书集教程
  • 网站:http://www.uzzf.com
  • 授权:免费软件
  • 厂商:
  • 产地:国产软件
好用好玩 50%(0)
坑爹 坑爹 50%(0)
软件介绍软件截图相关软件软件教程网友评论下载地址

本节内容小编为大家精选带来的是pdf格式高清免费版Thinking In Java 4th(java编程思想第四版),该电子版文档资料共有688页,该第四版中文版thinking in java内容完整,有需要的朋友可以点击本文下方的下载地址进行下载查阅!

温馨提示:

本文档为PDF格式文档,因此需确保在阅读之前你已经安装了PDF阅读器,如果尚未安装阅读器,建议下载福昕PDF阅读器或其他PDF阅读器进行安装后阅读。

Thinking In Java 4th(java编程思想第四版)内容节选

……

2.4 新建数据类型:类

如果说一切东西都是对象,那么用什么决定一个“类”(Class)的外观与行为呢?换句话说,是什么建立起了一个对象的“类型”(Type)呢?大家可能猜想有一个名为“type”的关键字。但从历史看来,大多数面向对象的语言都用关键字“class”表达这样一个意思:“我准备告诉你对象一种新类型的外观”。class 关键字太常用了,以至于本书许多地方并没有用粗体字或双引号加以强调。在这个关键字的后面,应该跟随新数据类型的名称。例如:

class ATypeName {/*类主体置于这里}

这样就引入了一种新类型,接下来便可用new 创建这种类型的一个新对象:

ATypeName a = new ATypeName();

在ATypeName 里,类主体只由一条注释构成(星号和斜杠以及其中的内容,本章后面还会详细讲述),所以并不能对它做太多的事情。事实上,除非为其定义了某些方法,否则根本不能指示它做任何事情。

2.4.1 字段和方法

定义一个类时(我们在 Java 里的全部工作就是定义类、制作那些类的对象以及将消息发给那些对象),可在自己的类里设置两种类型的元素:数据成员(有时也叫“字段”)以及成员函数(通常叫“方法”)。其中,数据成员是一种对象(通过它的句柄与其通信),可以为任何类型。它也可以是主类型(并不是句柄)之一。如果是指向对象的一个句柄,则必须初始化那个句柄,用一种名为“构建器”(第4 章会对此详述)的特殊函数将其与一个实际对象连接起来(就象早先看到的那样,使用new关键字)。但若是一种主类型,则可在类定义位置直接初始化(正如后面会看到的那样,句柄亦可在定义位置初始化)。

……

6. 菜单

为菜单处理事件看起来受益于Java 1.1 版的事件模型,但Java 生成菜单的方法常常麻烦并且需要一些手工

编写代码。生成菜单的正确方法看起来像资源而不是一些代码。请牢牢记住编程工具会广泛地为我们处理创

建的菜单,因此这可以减少我们的痛苦(只要它们会同样处理维护任务!)。另外,我们将发现菜单不支持

并且将导致混乱的事件:菜单项使用ActionListeners(动作接收器),但复选框菜单项使用 ItemListeners

(项目接收器)。菜单对象同样能支持ActionListeners(动作接收器),但通常不那么有用。一般来说,

我们会附加接收器到每个菜单项或复选框菜单项,但下面的例子(对先前例子的修改)演示了一个联合捕捉

多个菜单组件到一个单独的接收器类的方法。正像我们将看到的,它或许不值得为这而激烈地争论。

//: MenuNew.java

// Menus in Java 1.1

import java.awt.*;

import java.awt.event.*;

public class MenuNew extends Frame {

String[] flavors = { "Chocolate", "Strawberry",

"Vanilla Fudge Swirl", "Mint Chip",

"Mocha Almond Fudge", "Rum Raisin",

"Praline Cream", "Mud Pie" };

TextField t = new TextField("No flavor", 30);

MenuBar mb1 = new MenuBar();

Menu f = new Menu("File");

Menu m = new Menu("Flavors");

Menu s = new Menu("Safety");

// Alternative approach:

CheckboxMenuItem[] safety = {

new CheckboxMenuItem("Guard"),

new CheckboxMenuItem("Hide")

};

MenuItem[] file = {

// No menu shortcut:

new MenuItem("Open"),

// Adding a menu shortcut is very simple:

new MenuItem("Exit",

new MenuShortcut(KeyEvent.VK_E))

};

// A second menu bar to swap to:

MenuBar mb2 = new MenuBar();

Menu fooBar = new Menu("fooBar");

MenuItem[] other = {

new MenuItem("Foo"),

new MenuItem("Bar"),

new MenuItem("Baz"),

};

// Initialization code:

{

ML ml = new ML();

……

3. 程序列表的存取

接下来的一系列方法是简单的访问器:directory()、filename()(注意方法可能与字段有相同的拼写和大小写形式)和 contents()。而 hasFile()用于指出这个对象是否包含了一个文件(很快就会知道为什么需要这个)。

最后三个方法致力于将这个代码列表写进一个文件——要么通过writePacked()写入一个打包文件,要么通过writeFile()写入一个Java 源码文件。writePacked()需要的唯一东西就是 DataOutputStream,它是在别的地方打开的,代表着准备写入的文件。它先把头信息置入第一行,再调用writeBytes()将contents(内容)写成一种“通用”格式。

准备写Java 源码文件时,必须先把文件建好。这是用 IO.psOpen()实现的。我们需要向它传递一个File 对象,其中不仅包含了文件名,也包含了路径信息。但现在的问题是:这个路径实际存在吗?用户可能决定将所有源码目录都置入一个完全不同的子目录,那个目录可能是尚不存在的。所以在正式写每个文件之前,都要调用File.mkdirs()方法,建好我们想向其中写入文件的目录路径。它可一次性建好整个路径。

4. 整套列表的包容

以子目录的形式组织代码列表是非常方便的,尽管这要求先在内存中建好整套列表。之所以要这样做,还有另一个很有说服力的原因:为了构建更“健康”的系统。也就是说,在创建代码列表的每个子目录时,都会加入一个额外的文件,它的名字包含了那个目录内应有的文件数目。

DirMap类可帮助我们实现这一效果,并有效地演示了一个“多重映射”的概述。这是通过一个散列表(Hashtable)实现的,它的“键”是准备创建的子目录,而“值”是包含了那个特定目录中的SourceCodeFile 对象的Vector 对象。所以,我们在这儿并不是将一个“键”映射(或对应)到一个值,而是通过对应的Vector,将一个键“多重映射”到一系列值。尽管这听起来似乎很复杂,但具体实现时却是非常简单和直接的。大家可以看到,DirMap类的大多数代码都与向文件中的写入有关,而非与“多重映射”有关。与它有关的代码仅极少数而已。

可通过两种方式建立一个DirMap(目录映射或对应)关系:默认构建器假定我们希望目录从当前位置向下展开,而另一个构建器让我们为起始目录指定一个备用的“绝对”路径。

add()方法是一个采取的行动比较密集的场所。首先将directory()从我们想添加的SourceCodeFile 里提取出来,然后检查散列表(Hashtable),看看其中是否已经包含了那个键。如果没有,就向散列表加入一个新的Vector,并将它同那个键关联到一起。到这时,不管采取的是什么途径,Vector 都已经就位了,可以将它提取出来,以便添加SourceCodeFile。由于 Vector可象这样同散列表方便地合并到一起,所以我们从两方面都能感觉得非常方便。

……

Thinking In Java 4th(java编程思想第四版)相关内容小编就为大家介绍到这里了,更多pdf格式文档资料下载,敬请关注东坡下载站!

PC官方
安卓官方手机版
IOS官方手机版

Thinking In Java 4th(java编程思想第四版)截图

下载地址

Thinking In Java 4th(java编程思想第四版) pdf格式高清免费版

热门评论
最新评论
昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

编辑推荐

报错

请简要描述您遇到的错误,我们将尽快予以修正。

转帖到论坛
轮坛转帖HTML方式

轮坛转帖UBB方式