java方法中的 静态变量,Java中的静态变量和方法的范围

I have some doubts about usage of static method in Java.

I read many places static variables are instance independent so be comes global.

public class ThirdClass {

public static var = "Java";

}

public class Second {

public static void main(String[] args) {

ThirdClass ob1 = new ThirdClass();

System.out.println(ob1.var); // prints Java

ob1.var="Ruby";

ThirdClass ob2 = new ThirdClass();

System.out.println(ob2.var); // prints Ruby

}

}

public class First {

public static void main(String[] args) {

ThirdClass ob3 = new ThirdClass();

System.out.println(ob1.var); // prints Java again!!!

}

}

As you see in second class multiple instance of ThirdClass sharing same instance of variable var. But a separate instance in class First don't access the final value "Ruby" but show original "Java". It means the static variable are NOT global variable but only global to single execution!!!

Also do is creating static variable resource intensive compared to instance variable?

Please suggest.

解决方案

It means the static variable are NOT global variable but only global to single execution!!!

Of course they are. All variables that are not persisted to some kind of storage (like the hard disk) do not retain their values between distinct executions of the program.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值