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));
}
}
运行结果:
6.main方法:main方法不对任何对象进行操作。事实上,在启动程序时还没有任何一个对象。静态的main方法将执行并创建程序所需要的对象。
小提示:可以在自己写的每个类中都加入main方法,然后进行测试自己的类,这并不会影响其他类使用这个类。