
Java编程思想笔记
Hsuxu
程序猿
展开
-
第十一章 对象的集合
11.1 数组在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式。Arrays.sort()方法可以实现数组的排序。Java有两种方式来提供比较功能。第一种是实现java.lang.Comprarble接口,实现compareTo()方法。第二种使用策略模式,定义一个实现了Comparotor接口的策略类。11.2 容器简介1)Collection。一组独立原创 2012-08-01 16:26:20 · 1066 阅读 · 0 评论 -
第九章 通过异常处理错误
9.1 基本异常9.2 捕获异常9.3创建自定义的异常9.4 异常说明编译时被强制检查的异常称为“被检查的异常”。9.5 捕获所有的异常9.6 Java标准异常Throwable这个Java类被用来表示任何可以作为异常被抛出的类。Throwable对象可分为两种类型(指从Throwable继承而得到的类型):Error用来标识编译时和系统错误(出特殊情况外,一般不用你关原创 2012-07-25 16:15:21 · 738 阅读 · 0 评论 -
第八章 接口与内部类
8.1 接口如果知道某事物应该成为一个基类,那么第一选择应该是使它成为一个接口,只有在强制你必须要具有方法定义和成员变量的时候 ,采用该改而选择抽象类,或者在必要时使其成为一个具体类。extends可以引用多个接口,但只可以将extends用于单一类。接口中的任何字段都自动是static和final的。嵌套接口。8.2 内部类内部类和组合是完全不同的概念。当将内原创 2012-07-25 13:15:25 · 905 阅读 · 0 评论 -
第七章 多态
7.1 再论向上转型7.2 转机Java中除了static方法和final方法(private方法属于final方法)之外,其他所有方法都是后期绑定。class A{public static void f(){System.out.println("A");}}class B extends A{//@Override //添加Override注解会报错,说明原创 2012-07-23 14:39:18 · 661 阅读 · 0 评论 -
第十三章 并发
13.1 动机13.2 基本线程垃圾回收器只有在线程离开了run()并且死亡之后才能把它清理掉。如果必须要控制现成的执行顺序,最好是根本不用线程,而是自己编写特定顺序彼此控制的协作子程序。继承Thread类或者实现Runnable接口。内部类实现。13.3 共享受限资源1)如果要对类中的某个方法进行同步控制,最好同步所有方法。如果忽略了其中一个,通常很难确定这么做是否转载 2012-08-06 17:37:53 · 1176 阅读 · 0 评论 -
第六章 复用类
6.1 组合语法6.2 继承语法如果基类有不带参数的构造函数,且子类构造函数中没有显式调用父类的带参数的构造函数,则子类的构造函数中会自动调用父类不带参数的构造函数如果基类没有不带参数的构造函数,则子类的构造函数中需使用super显示的调用父类的构造函数6.3 结合使用组合和继承6.4 在组合与继承之间选择组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形。即,原创 2012-07-20 15:00:09 · 741 阅读 · 0 评论 -
第四章 初始化与清理
4.1 用构造器确保初始化4.2 方法重载在static内部不能调用非静态方法(除非把对某个对象的引用传递到static方法里,然后通过这个引用来调用非静态方法)4.3 清理:终结处理和垃圾回收Java有垃圾回收器负责回收无用对象占据的内存资源。但也有特殊情况,假定你的对象(并非使用new)获得了一块“特殊”的内存区域,由于垃圾回收器只知道释放那些经由new分配的内存,所以它不知道原创 2012-07-19 09:22:19 · 863 阅读 · 0 评论 -
第五章 隐藏具体实现
5.1 包:程序库单元5.2 Java访问权限修饰词包访问权限:public:接口访问权限private:你无法访问protected:继承访问权限 基类的创建这会希望有某个特定成员,把对它的访问权限赋予派生类(可能与基类不在一个包中)而不是所有类。这就需要protected来完成。protected也提供包访问权限。5.3 接口和实现5.4 类访问权限请原创 2012-07-19 10:44:42 · 780 阅读 · 0 评论 -
第三章 控制程序流程
3.1 使用Java操作符如果对基本数据类型执行算术运算或按位运算,大家会发现,只要类型比int小(即char、byte或者short),那么在元算之前,这些值会自动转换成int。这样以来,最终生成的结果就是int类型。如果想把结果赋值给较小的类型,就必须使用类型转换。3.2 执行流程控制带标签的break,continue Math.random()输出值范原创 2012-07-18 14:55:21 · 981 阅读 · 0 评论 -
第一章 对象导论
1.1 抽象过程程序可以通过添加新类型的对象使其自身适用于某个特定问题。OOP允许根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题,但是它仍然与计算机有联系:每个对象看起来都有点像一个微型计算机——它具有状态,还有操作,用户可以要求对象执行这些操作。1.2 每个对象都有一个接口接口定义了对某一个特定对象所能发出的请求。但是,在程序中必须有满足这些请求的代码。这些原创 2012-07-18 13:24:06 · 1005 阅读 · 0 评论 -
第二章 一切都是对象
2.1 用引用操作对象2.2 必须由你创建所有对象2.3 永远不需要销毁对象2.4 创建新的数据类型:类2.5 方法、参数和返回值2.6 构建一个Java程序尽管当static作用于某个数据成员时,肯定会改变数据创建的方式(静态存储),但是如果static作用于某个方法,差别却没那么大。2.7 你的第一个Java程序2.8 注释和嵌入式文档2.9 编码风原创 2012-07-18 14:01:13 · 727 阅读 · 0 评论 -
第十二章 Java I/O系统
12.1 File类12.2 输入和输出12.3 添加属性和有用的接口12.4 Reader和WriterInputStream和OutputStream在以面向字节形式的I/O中仍可以提供极有价值的功能,Reader和Writer则提供兼容Unicode与面向字符的I/O功能。最明智的做法是尽量尝试使用Reader和Writer,一旦程序代码无法编译成功,我们就会发现自己不得原创 2012-08-02 16:27:54 · 1436 阅读 · 0 评论 -
第十章 类型检查
运行时类型识别(run-time type identification RTTI):当只有一个指向对象基类的饮用时,RTTI机制可以让你找出这个对象的确切类型。10.1 为什么需要RTTIRTTI不是多态Java希望我们始终使用多态机制,只在必须的时候使用RTTI在Java中,RTTI表现在:1。Class对象,是RTTI的核心,每个类都有一个class对象。每当编写并且原创 2012-07-27 10:42:17 · 986 阅读 · 0 评论