effective java 学习一

上一篇 / 下一篇  2013-01-10 11:52:02 / 个人分类:java

1、常量接口:没有包含任何方法,它只包含静态的final域,每个域都导出一个常量,如果一个类要使用这些常量,它只要实现这个接口,就可以避免用类名来修饰常量名。
常量接口模式是对接口的不良使用。一个类要在内部使用某些常量,这纯粹是实现细节实现一个常量接口,会导致把这样的实现细节泄露到该类的导出API中,实现常量接口对于这个类的用户来讲也没有什么价值,实际上,这样做反而会使他们更加糊涂,更坏的是,它代表了一种承诺:如果在将来的发行版本中,这个类被修改了,它不再需要使用这些常量了,那么它仍然必须要实现这个接口,以保证二进制兼容性,如果一个非final类实现了一个常量接口,它的所有子类的名字空间会被接口中的常量污染。
2、优先考虑静态成员类。静态成员类是一种最简单的嵌套类,最好把它看做是一个普通的类,只是碰巧被声明在另一个类的内部而已,它可以访问外围类的所有成员,包括那些声明为私有的成员,静态成员类是外围类的一个静态成员,与其他的静态成员一样,也遵守同样的可访问性规则。如果它被声明为私有的,那么它只能在外围类的内部才可以被访问等等。

TAG:

 

评分:0

我来说两句

Open Toolbar