第十九条:接口只用来定义方法

一、接口的不良实现

有些程序将创建方法以外的事情,放在接口中,比如说:在接口中定义常量。

<span style="font-size:18px;">public interface FinalNumber {
	final int NUM_ONE = 1;
	final int NUM_TWO = 2;
	final int NUM_THREE = 3;
}
</span>
常量接口是对接口的不良使用。

原因:

实现了该接口的类,命名空间容易被污染。

类实现常量接口,没有什么价值。

二、如何实现常量

①、如果常量只在该类使用,则将该在类中设置为
private static final String TAG = "MainActivity";
②、如果这些常量可被看做枚举类型,就设置成枚举
public enum Direction {
	NORTH,WEST,SOUTH,EAST;
}
③、设置为不可实例化的工具类
public final class Utils {
	public static final int NUM_ONE = 1;
	public static final int NUM_TWO = 2;
	public static final int NUM_THREE = 3;
	
	//不可实例化
	private Utils(){
		
	}
	
}
如果需要大量调用某个工具类的常量,可以使用静态导入方法。
我们一般使用其他类的常量都是
int  one = Utils.NUM_ONE;
每次加上Utils是不是麻烦了,我想直接这样写
int one = NUM_ONE;   就方便多了。
所以java提供了静态导入方式
import static com.chen.Utils.*;
静态导入的缺点:因为这样写很容易让人误解该常量是属于该类的,而不是从其他类中调用的。
所以,尽量不要用静态导入,如果使用了,最好在当前类做出声明。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章