关于static关键字的一道题.(2.11,练习8)
编写一个程序,展示无论你创建了某个类的多少个对象,这个类中的某个static域只有一个实例
解题思路:::设置一个测试对象,该对象中含有一个静态字段a,和一个静态方法incrementA(对a执行加1操作),创建俩个该类的对象,在用类名称,对象o1和o2分别执行incrmentA操作后,,若输出a的结果一致,证明a只存在一个实例.
/**
*
* @author biao
*
*/
public class StaticTest {
public static void main(String[] args) {
System.out.println("a的初值:"+ObjectTest.a);
ObjectTest o1 = new ObjectTest();
ObjectTest o2 = new ObjectTest();
System.out.println("o1对象调用的值:"+o1.a);
System.out.println("o2对象调用的值:"+o2.a);
ObjectTest.incrementA();
System.out.println("ObjectTest类型进行incrementA操作后,o1对象调用的值:"+o1.a);
System.out.println("ObjectTest类型进行incrementA操作后,o2对象调用的值:"+o2.a);
o1.incrementA();
System.out.println("o1类型进行incrementA操作后,o1对象调用的值:"+o1.a);
System.out.println("o1类型进行incrementA操作后,o2对象调用的值:"+o2.a);
o2.incrementA();
System.out.println("o2类型进行incrementA操作后,o1对象调用的值:"+o1.a);
System.out.println("o2类型进行incrementA操作后,o2对象调用的值:"+o2.a);
}
}
class ObjectTest{
public static int a = 10;
public static void incrementA(){
ObjectTest.a++;
}
}