09 2012 档案

摘要:策略模式:把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分;先看一个下面的例子采用继承的方式实现不同的行为 1 import java.util.Arrays; 2 class Processor { 3 public String name() { 4 return getClass().getSimpleName(); 5 } 6 Object process(Object input) { return input; } 7 } 8 9 class Upcase extends Processor {10 String... 阅读全文
posted @ 2012-09-03 13:46 ljob 阅读(1928) 评论(0) 推荐(0)
摘要:Polymorphism:多态。多态是继抽象、继承之后java的第三种基本特征。它从另一角度将接口和实现分离开来,多态不但能改善代码的组织结构和可读性,还有利于程序的可扩展性。我们知道继承允许将对象视为它本身的类型或其基类类型来处理;这种能力是很给力的,因为它允许将多种类型(从同一基类导出的)视为同一类型来处理,而同一份代码也可以毫无差别地运行在这些不同类型之上了。多态方法调用允许一种类型表现出与其他相似类型之间的区别,只要他们是从同一基类导出来的。这种区别是根据方法行为的不同而表示出来的,虽然这些方法都可以通过同一个基类来调用。java中的所有方法都是通过动态绑定来实现多态的,所以我们可以编 阅读全文
posted @ 2012-09-02 19:09 ljob 阅读(379) 评论(0) 推荐(0)
摘要:1.final 可以修饰 变量、方法、类。final修饰的变量在声明的时候就必须给值。final修饰的原始类型变量的值不能被改变;final修饰的引用类型变量不能指向新的对象; final修饰的方法不能被子类覆盖(父类的私有方法不能被子类继承,即:子类如果有与父类同名、同参数的方法(私有的)不能构成覆盖,而是子类特有的方法); final修饰的类不能被继承,如果出于安全的考虑,你不想让你的类被继承,可以使用final关键字。2. 编译时常量:编译期可以计算出来值(如:publicstaticfinalint a=10;编译期可以计算出来a=10,所以a是编译期常量,还有publicstat.. 阅读全文
posted @ 2012-09-01 22:13 ljob 阅读(147) 评论(0) 推荐(0)