天天看点

java静态域和静态方法

1.静态域:如果将域定义为static,每个类只有一个这样的域。而每个对象对于所有的实例域却有自己的一份拷贝。

2.静态变量:就是声明为静态的可以进行改变的变量(什么??!跟没说一样!!我去,好吧,我承认!!)

例子:private static int nextId=1;

3.静态常量:同静态变量相比,静态常量一经赋值就不可改变;

例子:public static final double PI=3.14159265358979213846;

4.静态方法:静态方法是一种不能向对象实施操作的方法。

例子:main方法,Math类的pow方法

main:public static void main(String[] args);

pow:public static double pow(double args1,double args2);

注意:有两种情况考虑使用静态方法:

1:一个方法不需要访问对象状态,其所需参数都是通过显式参数提供。

2:一个方法只需要访问类的静态域。

5.工厂方法:额,这是啥,说实话我也没太看懂,不过看了会用,个人理解为使用这个方法创建一个格式化对象,然后这个对象可以接受不同的参数做格式化处理,就像进厂"加工"后然后再"出厂"一样,就得到了“产品”。

例子:代码:

package com.zhangyanjie;

import java.text.NumberFormat;

public class FactoryMethod {

	public static void main(String[] args) {
		NumberFormat currencyFormatter=NumberFormat.getCurrencyInstance();
		NumberFormat percentFormatter=NumberFormat.getPercentInstance();
		double x=0.1;
		System.out.println(currencyFormatter.format(x));
		System.out.println(percentFormatter.format(x));
	}
}
           

运行结果:

java静态域和静态方法

6.main方法:main方法不对任何对象进行操作。事实上,在启动程序时还没有任何一个对象。静态的main方法将执行并创建程序所需要的对象。

小提示:可以在自己写的每个类中都加入main方法,然后进行测试自己的类,这并不会影响其他类使用这个类。