呆呆向前冲的blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  78 随笔 :: 43 文章 :: 5 评论 :: 74 Trackbacks

第15条 :要么专门为继承而设计,并给出文档说明,要么禁止继承

     » 为了允许继承,一个类必须遵守如下约定:
     » 构造函数一定不能调用可被改写的方法。       

第16条:接口优于抽象类

     » 接口通常是定义具有多个实现的类型的最佳途径。 
     » 例外情形是当演化的容易性被灵活性和功能更为重要的时候。这时应该使用抽象类来定义类型。
     » 如果导出了一个重要接口,应该考虑同时提供一个骨架实现类(skeletal implementation class)
     » 尽可能谨慎设计所有的公有接口,并编写多个实现来测试它们。

第17条:接口是用于定义类型的

     » 接口应该这是被用来定义类型的
     » 常量接口模式是对接口的不良使用
           如果需要导出常量,应该使用类型安全枚举类,如

                            public class PhysicalConstants{

                                    private PhysicalConstants(){}//注意:构造函数应该是私有的,避免子类化
                                    public static final AVOCADROS_NUMBER = .....;//注意,常量类型应该是static final的
                              }
 第18条:优先考虑静态成员类

      » 嵌套类有四种:静态成员类,非静态成员类,匿名类,局部类
      » 非静态成员类的一种通用用法:允许外部类的一个实例被看做另一个不相关的类的实例。
         例如,诸如Set和List这样的集合接口的实现往往使用非静态成员类来实现他们的迭代器
                   public class MySet extends AbstractSet {
                             public Iterator iterator(){
                                    return new MyIterator();
                             } 
                             public class MyIterator implements Iterator{
                                    ................
                              }     
                   }
      » 如果声明的成员类不要求访问外围实例,那么使用static修饰符使它成为静态成员类。
 

        
 
   


 

     
 
               

posted on 2005-06-20 16:30 呆呆向前冲的blog 阅读(169) 评论(0)  编辑  收藏 所属分类: 工作:Java技术

只有注册用户登录后才能发表评论。


网站导航: