編寫高質量代碼:改善Java的151個建議四(類、對象、方法)31-51
阿新 • • 發佈:2017-10-10
jvm 分配 sys fin -- pac 重構 oid 只有一個
31.接口中不要存在實現代碼
接口中不能存在實現代碼(雖然可以實現,但是如果把實現代碼寫在接口中,那麽接口就綁定了可能變化的因素,這就導致實現不在文檔和可靠,是隨時可能被拋棄,被修改,被重構的)
package jsontest; public class Salary { public static void main(String[] args) { B.a.doSomething(); } } interface A{ public void doSomething() ; } interface B{ public staticfinal A a = new A() { public void doSomething() { System.out.println("---------接口中的實現方法"); } }; }
32.靜態變量一定要先聲明後賦值
靜態變量的加載過程:靜態變量是類初始化時首先被加載的,JVM會去查找類中的所有靜態聲明,然後分配空間,這時候只是完成了地址的分配,還沒有賦值,JVM會根據類中的靜態賦值(靜態類賦值和靜態塊賦值)的先後順序來執行。靜態變量在內存中只有一個拷貝,其後的所以賦值操作都是改變其值,地址不會改變。
33.
編寫高質量代碼:改善Java的151個建議四(類、對象、方法)31-51