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
原文:https://www.cnblogs.com/shellxx/p/12484517.html