1.组合 将其他类的对象引用置于新的类中. 3.继承 extends 从已知的一个类中派生出新的一个类,叫子类.子类实现了父类所有 非私有化 非静态 的属性和方法,并能根据自己的实际需求扩展出新的行为. 继承在内存中其实是先复制一个父类然后添加自己的字段方法. 子类中调用继承下来的方法也不需要基类对象引用.继承相当于对基类的一个扩展,因为基类有的它都有,再额外添加了一些域和方法(或覆写方法)而已. 子类不能直接访问父类的private字段方法.但是,如果子类继承了访问父类私有字段的公共或受保护方…
第七章 复用类 第一种方法非常直观:只需在新的类中产生现有类的对象(组合). 第二种方法更细致一些:它按照现有类的类型来创建新类(继承). 7.1 组合语法   只需将对象引用置于新类中即可. class A{} class B{ A a = new A(); }   如果想初始化这些引用,可在下列位置进行: 在定义对象的地方. 在类的构造器中. 在真正使用这些对象之前,惰性初始化. 使用实例初始化. 7.2 继承语法 当创建一个类时,总是在继承.   在继承过程中,需要先声明"新类与旧类相似&…
第一章 对象导论 对整书的概要. 略读. 第二章 一切都是对象 创建一个引用,指向一个对象. 安全的做法:创建一个引用的同时便进行初始化. 对象存储的地方:1)寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.2)堆栈(堆栈是栈):位于通用RAM中,但通过堆栈指针可以从处理器那里获得直接支持.堆栈指针若向下移动,则分配新的内存:若向上移动,则释放那些内存.这是一种快速有效的分配存储方法,仅次于寄存器.创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上…
3.1  更简单的打印语句 学习编程语言的通许遇到的第一个程序无非打印"Hello, world"了,然而在Java中要写成 System.out.println("Hello, world"); 我们都会感觉太冗长了,能不能简单一些呢?静态导入可以省略掉System,就像这样 import static java.lang.System.*; public class Hello { public static void main(String[] args) {…
7.1组合语法 在一个类中引入多个对象,以提高代码的复用性与功能. 7.2继承语法 使用继承子类可以获得,导出类可以获得基类的成员(变量与方法). 注:这里注意权限控制,若基类中的成员为默认权限,只有在同一包下才能继承得到.protect修饰时,导出类可以获取.public修饰时,任何类都可以拿到.private修饰就属于基类自己的东西了. 为了解决导出类中调用父类同名方法出现递归问题,java提出了super关键字解决这个问题. 在继承体系中,初始化都是由内向外的,即由基类到导出类扩散的,即先…
1.1  抽象过程 Java是一门面向对象的语言,它的一个优点在于只针对待解问题抽象,而不用为具体的计算机结构而烦心,这使得Java有完美的移植性,也即Java的口号"Write Once, Run Anywhere". 所谓的抽象过程,可以理解为对待解问题建模.比如待解问题是一个人,那么我们可以对人进行建模,它的类型是人,有属性姓名.性别.年龄,还有行为吃饭.走路.Java能直接完全据此建模编码,而无需考虑具体的计算机结构.所以当我们阅读Java程序时,正如书上说的"当你在…
1.类的成员默认的是包访问权限.允许包内成员访问 2.super.scrub() 调用基类的scrub方法 3.继承并不是复制基类的接口.当创建了一个导出类(子类)对象时,该对象包含了一个基类的子对象.这个子对象与你直接用基类创建的对象是一样的.区别在于后再来自外部.而基类的子对象呗包装在导出类的对象内部. 4.调用基类构造器是在导出类构造器里要做的第一件事. 5.@override注解可以防止你在不想重载时而意外地进行了重载. 6.组合(对象成员为类)和继承都允许在新的类中放置子对象.组合是显…
1. 策略设计模式 参考这篇文章:http://blog.csdn.net/chenjie19891104/article/details/6396458 讲的很清楚,策略设计模式.并且举了一个例子,很具有代表性. 先简单了解一下: 和模板方法模式的区别: 文章里还有一个例子: 备注:我来分解,解释一下这个例子. 将共同的方法定义成了一个接口,在这个接口中并没有这个共同方法的实现. 在Strategy类中,定义了一个方法execute,它的参数是拥有共同方法的接口类. 用户Context在调用S…
随着计算机革命的发展,“不安全”的编程方式已逐渐成为编程代价高昂的主因之一. C++引入了构造嚣(constructor)的概念,这是一个在创建对象时被自动调用的特殊方法.Java中也采用了构造器,并额外提供了“垃圾回收器”.对于不再使用的内存资源,垃圾回收器能自动将其释放. 5.1 用构造器确保初始化 //:initialization/SimpleConstructor.java //Demonstration of a simple constructor. class Rock { Ro…
1.定义任务 实现Runnable 接口的类就是任务类(任务类不一定是实现Runnable接口的类). 实现Runnable 接口,重写run()方法,run方法的返回值只能是 void 任务类就是表示这个类要做什么,run是任务执行的入口,可以在run中完成任务也可以run调用其他方法完成任务. run 方法不会产生一个线程,必须把任务附着到线程上,线程才会执行任务. 有时run中通常存在某种形式的循环,一直等待着接收信息准备执行任务,多见于服务器. 2.Thread类 构造器接收一个 Run…