在前面我们说过静态的变量,就是使用static修饰的量,我们称之为静态的变量,用static修饰的方法,我们称之为静态的方法
静态的方法是直接可以使用来来进行调用,不需要创建该类的实例化的对象就可以了。
还是来看看下面的代码吧。
package oop2;
public class static2 {
static public void say() {
System.out.print("hello world");
}
public static void main(String[] args) {
static2 t1=new static2();
t1.say();
System.out.println("\n");
static2.say();
}
}
我们可以看到当我们创建该类的实例对象,调用say方法的时候,编辑器发出警告,但是还是可以编译通过.但是我们一般不这样写
我们一般直接通过类来实现对静态方法的调用.
下面我们来看看静态代码块的使用
静态代码块就是使用static修饰的代码块,我么们称之为静态的代码块.
下面,我们通过程序来看看静态代码块,非静态代码块,构造方法,以及成员方法的执行顺序.
package oop2;
public class static3 {
static public String name;
//静态代码块
static {
System.out.println("静态代码块被执行....");
}
//非静态代码块
{
System.out.println("非静态代码块被执行....");
}
//类的构造方法
static3(){
this.name=name;
System.out.println("类的构造方法被执行....");
}
public void say() {
System.out.println("成员方法被执行....");
}
public static void main(String[] args) {
static3 t1=new static3();
t1.say();
}
}
从输出的结果可以看到执行的先后顺序为静态代码块--->非静态代码块----->构造方法---->成员方法
静态代码在构造方法之前被执行。静态代码块可以来做初始化的操作。
从程序可以看到,不管怎么样,静态代码块都会被执行。