TIJ笔记[转]
hmsxq
这个作者很懒,什么都没留下…
展开
-
TIJ阅读笔记(第七章)[转]
7:多态性再访上传(upcasting) 把对象的reference当作基类的reference来用,被成为上传(upcasting)。 把对象的类型忘掉 问题的关键 方法调用的绑定(binding) 后绑定(late binding)是要在程序运行的时候,根据对象的类型来决定该绑定哪个方法。后绑定也被称为“动态绑定(dynamic binding)”或“运行时绑定(ru转载 2006-02-10 13:36:00 · 701 阅读 · 0 评论 -
TIJ阅读笔记(第十章)[转]
10:检测类型 运行时类型识别(run-time type identification,缩写为RTTI)。为什么会需要RTTI collection是一种工具,它只有一种用途,就是要为你保管其它对象。因此出于通用性的考虑,这些collection应该能持有任何东西。所以它们持有Object。 Class对象 想要知道JAVA的RTTI是如何工作的,你就必须首先知道程序运行的时转载 2006-02-10 13:39:00 · 634 阅读 · 0 评论 -
TIJ阅读笔记(第六章)[转]
6:复用类合成所使用的语法 如果想对reference进行初始化,那么可以在以下几个时间进行: 1。在定义对象的时候。这就意味着在构造函数调用之前,它们已经初始化完毕了。 2。在这个类的构造函数里。 3。在即将使用那个对象之前。这种做法通常被成为“偷懒初始化(lazy initialization)”。如果碰到创建对象的代价很高,或者不是每次都需要创建对象的时候,这种做法就转载 2006-02-10 13:35:00 · 675 阅读 · 0 评论 -
TIJ阅读笔记(第四章)[转]
4:初始化与清理用构造函数确保初始化 new表达式确实会返回这个新创建的对象和reference,但是构造函数本身不返回任何值。方法的重载 区分经重载的方法 对primitive进行重载 用返回值重载 不能用返回值来区分重载的方法。默认的构造函数this关键词 this关键词只能用于方法内部,它负责返回调用这个方法的对象的reference。static的含义转载 2006-02-10 13:29:00 · 683 阅读 · 0 评论 -
TIJ阅读笔记(第十三章)[转]
并发编程面向对象使我们能将程序划分成相互独立的模块。但是你时常还会碰到,不但要把程序分解开来,而且还要让它的各个部分都能独立运行的问题。这种能独立运行的子任务就是线程(thread)。编程的时候,你可以认为线程都是能独立运行的,有自己CPU的子任务。实际上,是一些底层机制在为你分割CPU的时间,只是你不知道罢了。这种做法能简化多线程的编程。进程(process)是一种有专属地址空间的"转载 2006-02-10 13:47:00 · 729 阅读 · 0 评论 -
TIJ阅读笔记(第十二章)[转]
Java I/O 系统对编程语言的设计者来说,创建一套好的输入输出(I/O)系统,是一项难度极高的任务。File 类在介绍直接从流里读写数据的类之前,我们先介绍一下处理文件和目录的类。 你会认为这是一个关于文件的类,但它不是。你可以用它来表示某个文件的名字,也可以用它来表示目录里一组文件的名字。如果它表示的是一组文件,那么你还可以用list( )方法来进行查询,让它会返回Strin转载 2006-02-10 13:45:00 · 2103 阅读 · 0 评论 -
TIJ阅读笔记(第八章)[转]
8:接口(interface)与内部类(inner class)接口(interface) 可以把它想象成“纯的”abstract类。能让开发人员定义类的形式:方法名,参数列表,返回值的类型,但是却没有方法的正文。interface也可以包含数据成员,但是它天生就是static和final的。interface只提供形式,不谈实现。 interface会被用作定义类之间的“协议(proto转载 2006-02-10 13:38:00 · 666 阅读 · 0 评论 -
TIJ阅读笔记(第五章)[转]
5:隐藏实现package:类库的单元 package和import这两个关键词的作用是要把一个单独的全局名字空间分割开来。创建独一无二的package名字一个自定义的工具类库使用import来改变程序的行为方式使用package的忠告 这个package必须保存在由它的名字所指示的目录里,而这个目录又必须在CLASSPATH下面。JAVA的访问控制符 packag转载 2006-02-10 13:31:00 · 741 阅读 · 0 评论 -
TIJ阅读笔记(第二章) [转载]
2:万物皆对象用reference操纵对象你必须创造所有的对象 数据存在哪里? 1。寄存器(registers)。 2。栈(stack)。 3。堆(heap)。 4。静态存储(static storage)。 5。固定存储(constant storage)。 6。非内存的存储(Non-RAM storage):流对象(streamed object)和per转载 2006-02-10 13:25:00 · 595 阅读 · 0 评论 -
TIJ阅读笔记(第三章) [转]
3:控制程序流程使用Java运算符 优先级:先乘除后加减 赋值 当你‘在对象之间’进行复制的时候,实际上你是在拷贝它的reference。 方法调用期间的aliasing 数学运算符 正则表达式(Regular expressions) 自动递增与递减 关系运算符 测试对象的相等性 逻辑运算符 短接(short circuiting转载 2006-02-10 13:28:00 · 668 阅读 · 0 评论 -
TIJ阅读笔记(第一章)[转]
1·对象简介抽象的过程Smalltalk的五项特征代表了纯的面向对象的编程方法:1。万物皆对象。2。程序就是一组相互之间传递消息,告诉对象该干些什么的对象。3。每个对象都利用别的对象来组建它自己的记忆。4。对象都有类型。5。所有属于同一类型的对象能接受相同的消息。对象有接口对象会提供服务隐藏实现复用实现继承:复用接口可凭借多态性相互替换的对象abstract转载 2006-02-10 13:21:00 · 760 阅读 · 0 评论 -
TIJ阅读笔记(第十一章)[转]
11:对象的集合 如果程序的对象数量有限,且寿命可知,那么这个程序是相当简单的。数组 数组与其它容器的区别体现在三个方面:效率,类型识别以及可以持有primitives。数组是Java提供的,能随机存储和访问reference序列的诸多方法中的,最高效的一种。数组是一个简单的线性序列,所有它可以快速的访问其中的元素。但是速度是有代价的;当你创建了一个数组之后,它的容量就固定了,而且在其生命周期转载 2006-02-10 13:41:00 · 736 阅读 · 0 评论 -
TIJ阅读笔记(第十四章)[转]
14: 创建窗口与Applet设计的宗旨是"能轻松完成简单的任务,有办法完成复杂的任务"。本章只介绍Java 2的Swing类库,并且合理假定Swing是Java GUI类库的发展方向。本章的开头部分会讲,用Swing创建applet与创建应用程序有什么不同,以及怎样创建一个既能当applet在浏览器里运行,又能当普通的应用程序,在命令行下运行程序。Swing类库的体系庞大,而本章转载 2006-02-10 13:51:00 · 1889 阅读 · 0 评论