注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。 20.1.1 定义注解 @Target(ElementType.METHOD) @Retention(…
置顶推荐
第18章 I/O系统
20170707 IO部分和NIO部分感觉讲的有点不太好理解,没有细看。有一篇博客讲的挺详细的,有时间可以去瞅瞅 http://www.cnblogs.com/rollenholt/archive/2011/09/29/…
第17章 容器
集合类库图: 可选操作 执行各种不同的添加和移除的方法在Collection接口中都是可选操作,这意味着实现类并不需要为这些方法提供功能定义。简单来说,就是抽象类的某些派生类实现里,或者接口的某个实现类里面,某个方法是无…
第15章 泛型
即使使用了接口,就要求代码必须使用特定的接口,对程序的约束也还是太强了。我们希望达到的目的是编写更通用的代码,要使代码能够应用与“某种不具体的类型”,而不是一个具体的接口或类。泛型这个术语的意思就是适用于许多许多的类型。…
第14章 类型信息
RTTI(Runtime Type Information),运行时类型信息使得你可以在程序运行时发现和使用类型信息。 14.2 Class对象 类是程序的一部分,每个类都有一个Class对象。换言之,每当编写并且编译了…
第11章 持有对象
11.3 添加一组元素 Arrays.adList()方法接受一个数组或是一个用逗号分隔的元素列表 Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分割的列表,将元…
第10章 内部类
可以将一个类的定义放在另一个类的定义内部,这就是内部类。它了解外围类,并能与之通信。 10.1 创建内部类 如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象(如静态方法中),必须具体致命这个对象的类型:Out…
第9章 接口
9.1 抽象类和抽象方法 抽象类可以没有任何抽象方法,但是包含一个或多个抽象方法的类必须被限定为抽象的。 抽象类不能实例化。 如果从一个抽象类继承,并想创建该新类的对象,那么必须为基类中的所有抽象方法提供定义。如果不这么…
第8章 多态
8.2 转机 绑定:将一个方法调用通一个方法主体(方法所在的类)关联起来。 在程序执行前进行绑定叫做前期绑定;在运行时根据对象的类型进行绑定叫做后期绑定(动态绑定or运行时绑定)。后期绑定机制随着语言的不同有着差异,但是…
第7章 复用类
7.1 组合语法 将对象引用置于新类中即可。 每个非基本类型的对象都有一个toString()的方法,新建一个类对象的时候,可以重写这个方法。 7.2 继承语法 得到基类中的所有的域和方法。 当创建了一个导出类的对象时,…
第6章 访问权限控制
6.1 包:库单元 当编写一个Java源代码文件时,此文件通常被称为编译单元(转译单元)。每个编译单元只能有一个public类,并且名字必须与文件的名字完全相同,但是可以包含众多非public的类。编译完.java文件后…
第5章 初始化与清理
5.1 用构造器确保初始化 构造器是一种特殊类型的方法,它没有返回值。new表达式确实返回了对新建对象的引用,但构造器本身并没有任何返回值。 5.2 方法重载 参数顺序不同也可以区分两个方法。 基本类型能从一个“较小”的…