说到static我自己也是非常的敏感,因为自己学过c++,所以对于static这个关键字很是熟悉,但是在Java中static的含义有很多种。接下来谈谈我对Java的关键字static的理解吧!

Java中static的方法
  1. 静态,不需要实例化,直接调用。
  2. 类变量和类方法也叫静态变量和静态方法。
public class opp02 {
    public static void main(String[] args) {
        //由类产生对象的过程叫实例化
        //下面过程为实例化调用
        //调用
        Boy s1 = new Boy("曾骏毅",12);
        System.out.print(s1.name+","+s1.age+"岁 ");
        s1.eat();
        s1.sport();
        Boy s2 = new Boy("潘学良",10);
        System.out.print(s2.name+","+s2.age+"岁 ");
        s2.eat();
        s2.sport();

        System.out.println("------");
        //静态,不需要实例化,直接调用
        System.out.println("类型:"+Boy.people);
        Boy.hobby();
    }
}

class Boy{
    String name;  //实例变量
    int age;

    //构造方法,相当于c++中的构造函数
    public Boy(String name,int age) {
        this.name=name;
        this.age=age;
    }
    //实例方法
    public void eat() {
        System.out.print("辣条"+" ");
    }
    public void sport() {
        System.out.println("羽毛球"+" ");
    }

    //类变量和类方法也叫静态变量和静态方法
    //特点:不需要实例化就可以访问
    static String people = "亚洲人";
    static void hobby() {
        System.out.println("看小说");
    }
}
Java中static代码块
  1. static代码块只执行一次。
  2. 程序运行首先运行的是匿名代码块,其次是static代码块,最后是构造器。
public class oop06 {
    //代码块

    //其次是匿名代码块
    {
        System.out.println("匿名代码块");
    }
    //最先执行,并且只执行一次
    static {
        System.out.println("静态代码块");
    }
    //在最后是构造器
    public oop06(){
        System.out.println("构造方法");
    }

    public static void main(String[] args) {
        oop06 oop06 = new oop06();
        System.out.println("===============");
        oop06 oop061 = new oop06();

    }
}

下面是运行结果图

Q.E.D.