1.
在Frock類中聲明私有的靜態屬性currentNum,初始值為100000,作為衣服出廠的序列號起始值。
聲明公有的靜態方法getNextNum,作為生成上衣唯一序列號的方法。每調用一次,將currentNum增加100,並作為返回值。
在TestFrock類的main方法中,分兩次調用getNextNum方法,獲取序列號並打印輸出。
2.
在Frock類中聲明serialNumber屬性,並提供對應的get方法;
在Frock類的構造器中,通過調用getNextNum方法為Frock對象獲取唯一序列號;
在TestFrock類的main方法中,分別創建三個Frock 對象,並打印三個對象的序列號,驗證是否為按100遞增。
3.
在Frock類中聲明靜態語句塊,語句塊中將currentNum的初始值設為150000,作為衣服出廠的序列號起始值,並打印輸出該值。
執行TestFrock類的main方法,分別創建三個Frock 對象,驗證靜態語句塊是否只執行一次,以及序列號起始值是否已調整。
4.
在Frock類中聲明公有靜態常量INCREMENT,值為100,修改靜態方法getNextNum代碼,用INCREMENT常量代替原有的增量值100。
執行TestFrock類的main方法,驗證修改是否正確。
Frock.java
package static1; public class Frock { private static int currentNum ;//出場序列號起始變量 private int serialNumber; public static final int INCREMENT = 100; public static int getNextNum() { int temp = currentNum; currentNum+=INCREMENT; return temp; } static{ currentNum=150000;//出場序列號起始值為150000 System.out.println("衣服出廠的序列號起始值為:"+currentNum); } public Frock() { super(); this.serialNumber = getNextNum(); } public int getSerialNumber() { return serialNumber; } }
TestFrock.java
package static1; public class TestFrock { public static void main(String[] args) { Frock f1 = new Frock(); Frock f2 = new Frock(); Frock f3 = new Frock(); System.out.println(f1.getSerialNumber()); System.out.println(f2.getSerialNumber()); System.out.println(f3.getSerialNumber()); } }
運行結果:
衣服出廠的序列號起始值為:150000
150000
150100
150200