读书人

《Thinking In Java》- 读书笔记lt;2amp;gt

发布时间: 2012-12-26 14:39:28 作者: rapoo

《Thinking In Java》- 读书笔记<二>

?

第五章 隐藏实施过程

5.1 包:库文件

一般用Import 导入一个完整的库 ,获取一个包,这个和C#中的 using 类似;

example:

import java.util.*;

?

Java 创建源码的时候,通常叫做“编译单元”或是“翻译单元”;在编译单元内部,必须有一个public类,这个类要和文件名一致,并且每个编译单元只能有一个Public 类,否则编译失败;

?

包里面的关键为:package???

example: package MyClass;

?

5.2 访问权限

?

public 、private、protect、friendly(友好的;默认)

?

friendly:当前包内的其他所有类都能访问“友好的”成员

?

第六章 继承

?

6.1 ?Final 关键字(C#一致)

?

final 关键字的三种应用场合:数据、方法以及类

?

6.1.1 final 数据

(1)?编译期常数,它永远不会改变?

(2) 在运行期初始化的一个值,我们不希望它发生变化

?

6.1.2 Final 方法?

?

6.1.3 final 类?

?

6.2?继承的关键为:extends

?

第七章 多态性?

(有点佩服这本书的翻译 “重载”在JAVA中叫“过载”?!还是就叫过载)

?

重载、重写、接口 、抽象类

?

第八章 容器

8.1集合的类型

?

8.1.1??Verctor

?Vector 的用法很简单,这已在前面的例子中得到了证明。尽管我们大多数时候只需用addElement()插入对

象,用elementAt()一次提取一个对象,并用elements()获得对序列的一个“枚举”。

Example:

?

 Vector<Object> vc = new Vector<Object>(); for (int i = 0; i < 10; i++) { vc.addElement(new Example_01()); } System.out.println(vc);
?

?

8.1.2??B i t S e t

BitSet 实际是由“二进制位”构成的一个Vector。如果希望高效率地保存大量“开-关”信息,就应使用

BitSet。它只有从尺寸的角度看才有意义;如果希望的高效率的访问,那么它的速度会比使用一些固有类型

的数组慢一些。

?

8.1.3?Stack

Stack 有时也可以称为“后入先出”(LIFO)集合。换言之,我们在堆栈里最后“压入”的东西将是以后第

一个“弹出”的。和其他所有Java 集合一样,我们压入和弹出的都是“对象”,所以必须对自己弹出的东西

进行“造型”。

Example:

?

class Stacks {String[] arr = { "java", "c#", "javascript", "asp.net", "ado.net", "html","lucene.net", "android" };void myMethod() {Stack<String> stacks = new Stack<String>();for (int i = 0; i < arr.length; i++) {stacks.push(arr[i]);System.out.println(arr[i]);}}}
?

class Lists {ArrayList<Integer> arraylist = new ArrayList<Integer>();void myMethod() {for (int i = 0; i < 1000000; i++) {arraylist.add(i);}for (int j = 0; j < arraylist.size(); j++) {System.out.println(arraylist.get(j));}}}?

?

?

PS:Java中的 容器中的大小的size(); 获取元素为 get();? example: arr.get(i);

读书人网 >编程

热点推荐