论坛首页 入门技术论坛

一个类的static域只有一个实例

浏览 1846 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (5)
作者 正文
   发表时间:2009-10-31   最后修改:2009-10-31

关于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++;
	}
}

 

   发表时间:2009-12-11  
我很无语
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics