参考:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html
静态方法
- 1 在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。这种方法是被动执行的。静态方法在类加载的时候就已经加载,可以用类名直接调用。也就是说我们可以定义一个不需要创建对象的方法,这就是静态方法。
- 2 要实现静态方法,只需要在类中定义的方法前面加上static关键字。
例如
public static int Total(int n1,int n2) { ... }
- 3 使用静态方法事需要注意:
在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。
静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生。
静态代码块
- 1一般情况下,如果有些代码必须在项目启动的时候就执行的时候,这时就需要使用静态代码块,这种代码是主动执行的。一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。例如:
static {
}
区别
两者的区别就是:静态方法是被调用的时候才执行的;静态代码块是自动执行的。