package com.classinteface.finalinterface;
/** * 常量接口模式 java.io.ObjectStreamConstants * 這種模式會導致實現其的類將實現細節泄露到該類導出的API中 * 如果將來的發行版本改動了這個類,它不再需要常量接口中的常量,卻依然必須實現這個接口以保證二進制兼容性 * @author JacXuan * */
public interface PhysicalConstants { static final double AVOGADROS_NUMBERS = 6.02214199e23; static final double BOLTAMANN_CONSTANT = 1.380653e-23; static final double ELECTRON_MASS = 9.10938188e-31;//導出常量//1.如果這些常量不與現有的類或者接口密切相關,就把這些常量添加到這個類或者接口中// PRivate PhysicalConstants(){// // }// static final double AVOGADROS_NUMBERS = 6.02214199e23;// static final double BOLTAMANN_CONSTANT = 1.380653e-23;// static final double ELECTRON_MASS = 9.10938188e-31;//2.如果大量利用工具類導出的常量,可以利用靜態導入的機制,避免用類名來修飾常量名jdk>1.5// public class Test{// double atoms(double atoms){// return AVOGADROS_NUMBERS * mols;// }// }//總結:接口應該被用來定義類型,不應該用來導出常量}
|
新聞熱點
疑難解答