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

本文介绍了Java编程中的几个重要原则,包括优先使用接口而非具体实现类,以提高代码灵活性;尽量避免使用反射机制,因为它可能带来性能损失并牺牲类型检查;谨慎使用本地方法;以及遵循通用的命名规范。

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

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:谨慎地进行优化 ................................

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

转载于:https://my.oschina.net/dreyer/blog/523325

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值