08 2013 档案
摘要:Nested Classes定义在java语言规范里面,嵌套类(Nested Classes)定义是:A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested class.说的简单一点,就是定义在类里面的类。一般把定义内部类的外围类成为包装类(enclosing class)或者外部类嵌套类分类根据nested class定义的地方,可以分为member
阅读全文
摘要:命名空间是名称与对象之间的关系,可以将命名空间看做是字典,其中的键是名称,值是对象。命名空间不共享名称。在命名空间中的名称能将任何python对象作为值,在不同的命名空间中相同的名称可以与不同的对象相关联。但是,如果存在名称解析协议,则多个命名空间可以一起工作来解析名称。也就是说,如果有多个命名空间(总是有的),那么可以定义搜索的顺序,依次在不同的命名空间里来查找某个名称(或确认其不存在于任何认可的命名空间)。在python中,将这一过程定义为作用域。作用域搜索规则:LEGBL:局部的(local)E:封闭的(Enclosing)G:全局的(Global)B:内置的(Built-in)一、局部
阅读全文
摘要:第十三条:使类和成员的可访问性最小 用于信息隐藏,尽可能的使每个类或者成员不被外界访问, 对于顶层的类和接口,只有两种访问级别:包级私有,和共有的, private:只有该类的内部才可以访问这个成员 包级私有:声明的成员在包内部都不可以访问,缺省型 protected:声明该类的包,和该类的之类都可以访问 public:在任何地方都可以访问 如果一个类覆盖了超类的一个方法,那么子类的访问级别一定不能比超类的访问级别低,如果一个类实现了一个接口的所有方法,那么接口中所有的方法都必须声明为共有的。 实例域绝不能是公有的,包含公有可变域的类并不是线程安全的 类具有共有的 静态fin...
阅读全文
摘要:一. 移动: h,j,k,l: 左,下,上,右。 w: 下一个词的词首。 e:下一个词的词尾。 b:上一个词的词首。 : v 模式选中后进行缩进。二. 跳转: %: 可以匹配{},"",(),[]之间跳转。 H、M、L:直接跳转到当前屏幕的顶部、中部、底部。 #H:跳转到当前屏的第#行。 #L:跳转到当前屏的倒数第#行。 zt: 当前编辑行置为屏顶。 zz: 当前编辑行置为屏中。 zb: 当前编辑行置为屏底。 G:直接跳转到文件的底部。 gg: 跳转到文件首。 ():跳转到当前的行首、行尾。 {}:向上、向下跳转到最近的空行。 [{:跳转到目前区块开头。 ]}:跳转到目前区
阅读全文
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl
阅读全文
摘要:第三章:对于所有对象都通用的方法 第一条:覆盖equals方法请遵守通用的约定在下面中可以不考虑覆盖equals方法:(1).类的每个实例本质上是唯一的 枚举类型(2).不关心类是否提供了逻辑相等,的测试功能(3).超类已经覆盖了equals,从超类继承过来的行为对于子类也是适合的,(4).类是是私有的或包含所有的,实现equals方法要实现的等价关系:自反性,对称性,传递性,一致性里式替换原则(lis substitution principle),一个类的任何重要的属性也适用与他的子类型复合优于继承(5).非空性:所有的对象都不必须不等于null,public boolean equal.
阅读全文
摘要:第二条:遇到多个构造器参数时,要考虑用构建器 静态工厂方法和构造器都不能很好的扩展到大量的可选参数,如果用构造函数,需要采用重叠构造器模式,缺点,当有很多参数时,客户端代码,很难调试,难以阅读, 第二种代替方法是JavaBean模式,缺点:构造过程被分到几个调用中,在构造过程中JavaBean,可能处于不一致的状态,而且阻止了把类变成不可变得可能, 第三种方法:Builder模式,能够保证像重叠构造器模式那样安全性,builder模式模拟了具名的可选参数,就像Ada和Python中的一样, 总结:如果类的构造器或者静态工厂方法中具有多个参数,设计这种类时,BUilder模式是个很好的选...
阅读全文
摘要:第一条:考虑用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势是:它们有名称 静态工厂方法与构造器不同的第二大优势是:不必在每次调用它们的时候都创建新的对象 静态工厂方法与构造器不同的第三大优势是:它们可以返回原返回类型的任何子类型对象 API可以返回对象,同时有不会使对象的类变成共有的,这种技术适用与基于接口的框架(interface-based framework),接口为静态工厂方法提供了自然返回类型,接口不能有静态方法 静态工厂方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不必存在,这种灵活的静态工厂方法构成了服务提供者框架(service p...
阅读全文