随笔分类 -  Java

Java

摘要:第38条:检查方法的有效性第39条:必要时进行保护性拷贝 1.对于构造器的每个可变参数进行保护性拷贝 2.===第40条:谨慎的设计方法签名 1.不能太多,参数,最多4 2.参数类型优先使用接口,而不是类 3.第一种吧方法分解成多个方法,二。创建辅助类,用来保存参数的分组,辅助类一般为静态成员类,三,使用Javabean模式第41条:慎用重载 对于重载的方法的选择是静态的,对于被覆盖的方法的选择是动态的,,要调用哪个重载是在编译时决定的,第42条:慎用可变参数第43条:返回0长度的数组或者集合,而不是null 返回类型为数组或者集合的方法,没有理由返回null,而不是返回一个另长... 阅读全文
posted @ 2013-09-07 20:48 曹守鑫 阅读(134) 评论(0) 推荐(0)
摘要: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 阅读全文
posted @ 2013-08-28 16:58 曹守鑫 阅读(275) 评论(0) 推荐(1)
摘要:第十三条:使类和成员的可访问性最小 用于信息隐藏,尽可能的使每个类或者成员不被外界访问, 对于顶层的类和接口,只有两种访问级别:包级私有,和共有的, private:只有该类的内部才可以访问这个成员 包级私有:声明的成员在包内部都不可以访问,缺省型 protected:声明该类的包,和该类的之类都可以访问 public:在任何地方都可以访问 如果一个类覆盖了超类的一个方法,那么子类的访问级别一定不能比超类的访问级别低,如果一个类实现了一个接口的所有方法,那么接口中所有的方法都必须声明为共有的。 实例域绝不能是公有的,包含公有可变域的类并不是线程安全的 类具有共有的 静态fin... 阅读全文
posted @ 2013-08-27 16:37 曹守鑫 阅读(167) 评论(0) 推荐(0)
摘要:Ctrl+1快速修复(最经典的快捷键,就不用多说了)Ctrl+D:删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter显示当前选择资源(工程,or文件or文件)的属性Shift+Enter在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter在当前行插入空行(原理同上条)Ctrl 阅读全文
posted @ 2013-08-27 10:08 曹守鑫 阅读(173) 评论(0) 推荐(0)
摘要:第三章:对于所有对象都通用的方法 第一条:覆盖equals方法请遵守通用的约定在下面中可以不考虑覆盖equals方法:(1).类的每个实例本质上是唯一的 枚举类型(2).不关心类是否提供了逻辑相等,的测试功能(3).超类已经覆盖了equals,从超类继承过来的行为对于子类也是适合的,(4).类是是私有的或包含所有的,实现equals方法要实现的等价关系:自反性,对称性,传递性,一致性里式替换原则(lis substitution principle),一个类的任何重要的属性也适用与他的子类型复合优于继承(5).非空性:所有的对象都不必须不等于null,public boolean equal. 阅读全文
posted @ 2013-08-26 17:00 曹守鑫 阅读(203) 评论(0) 推荐(0)
摘要:第二条:遇到多个构造器参数时,要考虑用构建器 静态工厂方法和构造器都不能很好的扩展到大量的可选参数,如果用构造函数,需要采用重叠构造器模式,缺点,当有很多参数时,客户端代码,很难调试,难以阅读, 第二种代替方法是JavaBean模式,缺点:构造过程被分到几个调用中,在构造过程中JavaBean,可能处于不一致的状态,而且阻止了把类变成不可变得可能, 第三种方法:Builder模式,能够保证像重叠构造器模式那样安全性,builder模式模拟了具名的可选参数,就像Ada和Python中的一样, 总结:如果类的构造器或者静态工厂方法中具有多个参数,设计这种类时,BUilder模式是个很好的选... 阅读全文
posted @ 2013-08-24 21:30 曹守鑫 阅读(221) 评论(0) 推荐(0)
摘要:第一条:考虑用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势是:它们有名称 静态工厂方法与构造器不同的第二大优势是:不必在每次调用它们的时候都创建新的对象 静态工厂方法与构造器不同的第三大优势是:它们可以返回原返回类型的任何子类型对象 API可以返回对象,同时有不会使对象的类变成共有的,这种技术适用与基于接口的框架(interface-based framework),接口为静态工厂方法提供了自然返回类型,接口不能有静态方法 静态工厂方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不必存在,这种灵活的静态工厂方法构成了服务提供者框架(service p... 阅读全文
posted @ 2013-08-24 17:11 曹守鑫 阅读(188) 评论(0) 推荐(0)
摘要:ava程序作为windows服务运行Installing and Running as an NT Service1.下载Java Service Wrapper2.以控制台方式运行2.1建立你的应用目录2.2拷贝运行批处理文件 把 {WRAPPER_HOME}/src/bin/App.bat.in {WRAPPER_HOME}/src/bin/InstallApp-NT.bat.in {WRAPPER_HOME}/src/bin/UninstallApp-NT.bat.in 拷贝到你的应用程序目录(MyApp)中: C:/MyApp/bin/MyApp.bat C:/MyApp/bin/In 阅读全文
posted @ 2013-06-18 13:54 曹守鑫 阅读(483) 评论(1) 推荐(0)