【Java】【TIJ】验证类中的static域只有一份存储空间,与类实例化的对象个数无关。

static的用途:定义静态成员、静态方法

static特点:属于类;无论实例化多少个对象,static域只占用一份内存

调用方法:直接用类名调用或者用类实例化的对象来调用

   

    类中的static域包括两种,一种是static的成员,一种是static的方法。它们都是只属于类,并不是属于

某个对象的。它们可以用类名直接调用。

     当然也可以使用对象来调用。但是至始至终,它们只存在在一份内存中。静态的方法可以类中其他的

静态方法和静态的成员,不可调用非静态的方法和非静态的成员;非静态的方法可以随便调用,不受限制。


/*
*验证类中的static域不管创建了多少个对象,static域只有一个实例:w
*Thinking in Java Test 2.8
*@author:WolfOfSiberian
*
*/
public class TIJ_Test2_8{
	static int a=0;
	
	public TIJ_Test2_8(){
		a++;
		//System.out.println("a="+a);
	}
	public static void main(String args[]){
		TIJ_Test2_8 test1=new TIJ_Test2_8();
		System.out.println("test1.a="+test1.a);

		TIJ_Test2_8 test2=new TIJ_Test2_8();
		System.out.println("test2.a="+test2.a);

		TIJ_Test2_8 test3=new TIJ_Test2_8();
		System.out.println("test3.a="+test3.a);

		TIJ_Test2_8 test4=new TIJ_Test2_8();
		System.out.println("test4.a="+test4.a);

		TIJ_Test2_8 test5=new TIJ_Test2_8();
		System.out.println("test5.a="+test5.a);
		
		TIJ_Test2_8.a=100;

		System.out.println("test1.a="+test1.a);
		System.out.println("test2.a="+test2.a);
		System.out.println("test3.a="+test3.a);
		System.out.println("test4.a="+test4.a);
		System.out.println("test5.a="+test5.a);
	}
}


    执行结果如下,构造函数中对成员a的修改反应到了每个新建的对象中。同时使用类来调用a,修改其值,

修改后的值反映到了所有的对象中。


test1.a=1
test2.a=2
test3.a=3
test4.a=4
test5.a=5
test1.a=100
test2.a=100
test3.a=100
test4.a=100
test5.a=100


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值