Java中的static关键字

变量和方法都可以被声明为static类型。被声明static的变量叫做类变量,也叫静态变量,这个变量属于类,不属于任何一个对象。

没有被static修饰的变量为实例变量,属于各对象。

同样被static修饰的方法叫做类方法,属于类。没有被static修饰的方法称为实例方法,属于对象。

不管创建了多少对象实例,整个类中,系统只给静态变量分配一个空间,所有对静态变量的操作都是对这一空间值得操作。

对比下面两段程序便可弄清楚。

package fuckdefault;

class Test1
{
	public int i = 20;
	void changeI()
	{
		i ++;
	}

}

public class TestStatic {

	public static void main(String[] args) {
		Test1 a = new Test1();
		Test1 b = new Test1();
		a.changeI();
		System.out.println("a中的i:" + a.i);
		System.out.println("b中的i:" + b.i);
	}

}
输出结果:

a中的i:21
b中的i:20


package fuckdefault;

class Test2
{
	public static int i = 20;
	void changeI()
	{
		i ++;
	}
}
public class TestStatic2 {
	public static void main(String[] args) {
		Test2 a = new Test2();
		Test2 b = new Test2();
		a.changeI();
		System.out.println("a中的i:" + a.i);
		System.out.println("b中的i:" + b.i);
	}
}
输出结果:

a中的i:21
b中的i:21
比较可知,Test2中的i是静态变量(类变量)。系统只分配一个空间,对象a的操作就是对这个空间值得操作。于是对象b中的i值变化了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值