Java学习笔记-静态变量、静态常量与静态方法

1.静态变量

看到一位大神写得非常赞,我直接copy了这一段
什么叫静态与非静态?
静态:对于该类的对象来说,都只有一个。叫作类变量。
非静态:每个该类的对象都各有一个拷贝。叫作成员变量。
比如工商银行卡类:他们有一个静态的银行卡名称叫:工商银行卡–>静态。
每个卡又月自己的卡号–>非静态。
在创建对象的时候,需要每个成员变量(非静态)开辟内存空间,类变量(静态变量)则是在类加载的时候就创建好了。
你有或者没有,她都在那里,不属于任何一个对象,只属于类本身。
单身狗的领悟…
Java学习笔记-静态变量、静态常量与静态方法_第1张图片

2.静态常量

其实静态变量用得很少,静态常量用得才比较多。
举个例子:

public class Math{
	public static final double PI=3.14159265358979323846;
}

这就是一个静态常量。
那么其和常量有什么区别呢?
通俗点说:静态常量可以被类所直接引用,即我们可以使用Math.PI来获得这个常量。
如果将static去掉,则只能通过Math类的对象来访问了,而且每一个Math对象都有它自己的一份拷贝。

3.静态方法

静态方法是一类不能向对象实施操作的方法,由于这个特性,静态方法是不能访问实例域(即成员变量)的,但是其可以访问自身类中的静态域(即类变量)的。
说到这里,我们会发现一个问腿。我们熟悉的main函数定义中好像有一个static?

public static void main(String[] args){}

事实上,main函数的确是一个静态方法,其不对任何对象进行操作。事实上,再启动程序的时候,还没有任何的对象产生,静态的main方法将执行并创建程序所需的对象。

你可能感兴趣的:(Java,Java,静态变量,静态常量,静态方法)