Effective Java——通用程序设计(二)(2015-10-28 22:46:54)

52:经过接口引用对象 通常来说,应该优先使用接口而不是类来引用对象。若是有合适的接口,那么对于参数、返回值、变量和域来讲,都应该使用接口类型进行声明。 好比Vector是List接口的一个实现类,那么在声明一个Vector变量的时候应该这样作java

List<String> list = new Vector<String>();

而不是架构

Vector<String> list = new Vector<String>();

用接口做为类型会让程序变得更加灵活,好比某一天你决定把ArrayList做为实现类时,针对第一种状况,只须要把Vector改成ArrayList便可,周边的代码并不知道原来的实现类型,因此避免了改动。 有一点值得注意的是若是原来的实现类中提供了某种特殊的功能, 而这种特殊的功能又不属于接口的规范,而且周边的代码又依赖于这种特殊的功能,那么重要的一点就是要在新的实现类中也要实现相同的功能。性能

53:接口优先于反射机制 反射机制是java提供的一个很是重要的功能,它提供了“经过程序来访问关于已转载类的信息”的能力,为何这么说呢? 是由于咱们只要给定一个类的实例或者名称,咱们就能经过反射来获取类的构造器、方法、属性的信息。 可是反射机制仍是会付出必定的代价,好比说: 1.丧失了编译时类型检查的能力 2.执行反射访问所须要的代码很是笨拙和冗长。 2.性能损失 可是一些复杂的程序或者架构确实是须要反射机制来做为一个重要的技术实现点。优化

54:谨慎的使用本地方法 本地方法是指本地程序设计语言,好比C或者C++来编写的特殊方法,java中经过native关键字来修饰,没有方法体设计

55:谨慎地进行优化 ................................code

56:准守广泛接受的命名规则 主要是一些包、类或者接口、方法或者域、常量域、局部变量、类型参数的命名规范对象

相关文章
相关标签/搜索