Thinking in java——对象入门

读书笔记——《Thinking in java》第一章 对象入门

  1. Java 采用三个显式(明确)关键字以及一个隐式(暗示)关键字来设置类边界:public,private, protected 以及暗示性的friendly。若未明确指定其他关键字,则默认为后者。这些关键字的使用和含义都 是相当直观的,它们决定了谁能使用后续的定义内容。“public”(公共)意味着后续的定义任何人均可使 用。而在另一方面,“private”(私有)意味着除您自己、类型的创建者以及那个类型的内部函数成员,其 他任何人都不能访问后续的定义信息。private在您与客户程序员之间竖起了一堵墙。若有人试图访问私有成员,就会得到一个编译期错误。“friendly”(友好的)涉及“包装”或“封装”(Package)的概念—— 即Java 用来构建库的方法。若某样东西是“友好的”,意味着它只能在这个包装的范围内使用(所以这一访 问级别有时也叫作“包装访问”)。“protected”(受保护的)与“private”相似,只是一个继承的类可 访问受保护的成员,但不能访问私有成员。继承的问题不久就要谈到。
  2. 我们将这种把衍生类型当作它的基本类型处理的过程叫作“Upcasting”(上溯造型)。
  3. 将一条消息发给对象时,如果并不知道对方的具体类型是什么,但采取的行动同样是正确的,这种情况就叫 作“多形性”(Polymorphism)。
  4. 所有类最终是否都应从单独一个 基础类继承。在Java 中(与其他几乎所有OOP语言一样),对这个问题的答案都是肯定的,而且这个终级基 础类的名字很简单,就是一个“Object”。这种“单根结构”具有许多方面的优点。 单根结构中的所有对象(比如所有 Java 对象)都可以保证拥有一些特定的功能。在自己的系统中,我们知道 对每个对象都能进行一些基本操作。一个单根结构,加上所有对象都在内存堆中创建,可以极大简化参数的 传递(这在 C++里是一个复杂的概念)。利用单根结构,我们可以更方便地实现一个垃圾收集器。与此有关的必要支持可安装于基础类中,而垃圾收 集器可将适当的消息发给系统内的任何对象。如果没有这种单根结构,而且系统通过一个句柄来操纵对象, 那么实现垃圾收集器的途径会有很大的不同,而且会面临许多障碍。
  5. Java 1.2 的集合库则无疑是一个杰作。
  6. Java中堆和栈创建对象的区别
  7. 最开始,线程只是用于分配单个处理器的处理时间的一种工具。但假如操作系统本身支持多个处理器,那么 每个线程都可分配给一个不同的处理器,真正进入“并行运算”状态。从程序设计语言的角度看,多线程操 作最有价值的特性之一就是程序员不必关心到底使用了多少个处理器。程序在逻辑意义上被分割为数个线 程;假如机器本身安装了多个处理器,那么程序会运行得更快,毋需作出任何特殊的调校。

猜你喜欢

转载自blog.csdn.net/bskfnvjtlyzmv867/article/details/80401881