JAVA 理论总结
一.编写构造器的有效准则: 用尽可能简单的方法使对象进入正常状态,如果可以的话,避免调用其他方法。在构造器内唯一能够安全调用的那些方法是基类中的final方法(也适用于private方法,它们自动属于final方法)。 二.用继承进行设计的准则: 用继承表达行为间的差异,并用字段表达状态上的变化。 1: class Actor {// 男演员
2: public void act() {}
3: }
4:
5: class HappyActor extends Actor{//高兴的男演员
6: public void act() {System.out.println("HappyActor");}
7: }
8:
9: class SadActor extends Actor{//悲伤的男演员
10: @Override
11: public void act() {System.out.println("SadActor");}
12: }
13:
14: class Stage {//舞台
15: private Actor actor = new HappyActor();
16: public void change(){actor= new SadActor();}
17: public void PerformPlay(){actor.act();}
18: }
19: public class Transmogrify {
20:
21: /**
22: * Stage对象包含一个Actor 的引用,而Actor被初始化为HappyActor对象,
23: * 这意味着PerformPlay()会产生某种特殊行为。
24: * 既然引用在运行时可以与另一个不同的对象重新绑定起来,
25: * 所以SadActor对象的引用可以在Actor中被替代,然后由PerformPlay()产生的行为也随之改变。
26: * 这样一来,我们在运行期间获得了动态的灵活性(这也称作"状态模式")
27: * @param args
28: */
29: public static void main(String[] args) {
30: Stage stage = new Stage();
31: stage.PerformPlay();
32: stage.change();
33: stage.PerformPlay();
34: }
35:
36: }/*Output:
37: HappyActor
38: SadActor*///:~
39:
相关文档:
一、抽象类注意事项:
1,抽象类中可以用0+个抽象方法。
2,有抽象方法的的类必须是抽象类。
3,抽象类派生的非抽象子类必须实现抽象类中定义的所有抽象方法。
4,抽象类不能创建对象。
5,abstract 不能与final并列修饰同一个类
6,abstract不能与private,static ,final,native并列修饰同一方法。
package com.wens ......
JAVA的容器---List,Map,Set
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection接口
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相 ......
Design Patterns in Java
-----------------------------------------
Steven John Metsker
William C.Wake
-----------------------------------------
龚波等译
--------一、二章读书记录------
模式是集体智慧的结晶。它给出了相关行业中经验丰富的从业者所应用的所有的概念和方 ......
除 八个基本类型(Long ,short,int ,float,double,char,byte,boolean)外,其他的数据类型都被称为“引用类型”,也即:Object。Object的操作全是通过对象的引用(Object references),引用可以理解为指针,容易让人对应到C++的传址上面去。所以,大家要注意喽!java里面虽说没指针,其实却不然。 ......