Java学习笔记——static关键字

如果将域定义为static,每个类中只有这样一个域。而每一个对象对于所有的实例域都有一份自己的拷贝。假如需要给每个雇员赋予一个唯一的身份标示码。这里给Employee添加一个实例域ID和一个静态域nextID:

class Employee
{
	private static int nextID;
	private int ID;
	...
}

对于上面话的解释就是,每一个对象都有自己的一个ID域,但是所有的雇员类的对象将共享一个nextID。静态域只有一个,每个对象都共享一个静态域。

下面实现一个简单的方法:

public	void setID(){
	ID=nextID;
	nextID++;
}

这就实现了把静态域nextID赋值给ID,并且ID+1的操作。

静态常量

举例来说,在Math类中定义了一个静态常量public static final double PI=3.1415926535;

在程序中就可以使用Math.PI的形式进行调用。如果上述定义的PI没有static关键字的话,那么就成了Math类的一个实例域。这样,每次调用Math.PI都会有一份自己的拷贝,这并不符合常理。

静态方法

静态方法是一种不能向对象实施操作的方法。例如,Math类的pow方法就是一个静态方法。Math.pow(x,y):故可以认为静态方法是一个没有this参数的方法(this参数值的就是非静态方法中的隐式参数)。

对于静态方法的调用需要通过类名进行调用

int n=Employee.getNextID();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值