1. 程式人生 > >編寫高質量代碼:改善Java的151個建議四(類、對象、方法)31-51

編寫高質量代碼:改善Java的151個建議四(類、對象、方法)31-51

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 static
final A a = new A() { public void doSomething() { System.out.println("---------接口中的實現方法"); } }; }

32.靜態變量一定要先聲明後賦值

  靜態變量的加載過程:靜態變量是類初始化時首先被加載的,JVM會去查找類中的所有靜態聲明,然後分配空間,這時候只是完成了地址的分配,還沒有賦值,JVM會根據類中的靜態賦值(靜態類賦值和靜態塊賦值)的先後順序來執行。靜態變量在內存中只有一個拷貝,其後的所以賦值操作都是改變其值,地址不會改變。

33.

編寫高質量代碼:改善Java的151個建議四(類、對象、方法)31-51