Java提供了访问修饰符(access specifier)供类库开发者指明哪些对于客户端程序员是可用的,哪些是不可用的。访问控制权限的等级,从“最大权限”到“最小权限”依次是:public、protected,包访问权限(package access)(没有关键字)和private。
阅读《On Java 8》--第六章 初始化和清理
“不安全”的编程是造成编程代价昂贵的罪魁祸首之一。有两个安全性问题:初始化和清理。
Java采用了构造器的概念,另外还使用了垃圾收集器(Garbage Collector,GC)去自动回收不再被使用的对象所占的资源。这一章将讨论初始化和清理的问题,以及在Java中对它们的支持。
阅读《On Java 8》--第五章 控制流
在Java中,涉及的关键字包括if-else、while、do-while、for、return、break和选择语句switch。Java并不支持备受诟病的goto。尽管如此,在Java中我们仍然可以进行类似的逻辑跳转,但较之经典的goto用法限制更多。
阅读《On Java 8》--第一章 对象的概念
抽象
我们可以理解“纯粹”的面向对象设计方法是什么样的:
- 万物皆对象。你可以将对象想象成一种特殊的变量。它存储数据,但可以在你对其“发出请求”时执行本身的操作。
- 程序是一组对象,通过消息传递来告知彼此该做什么。要请求调用一个对象的方法,你需要向该对象发送消息。
- 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂度。
- 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”
同一类所有对象都能接收相同的消息。这实际是别有含义的一种说法。由于类型为Circle的一个对象也属于类型为Shape的一个对象,所以一个圆完全能接收发送给“形状”的消息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。这一特性称为对象的“可替换性”,是OOP最重要的概念之一。