Java中static关键字作用

import static java.lang.System.out;

public  class StaticTest{
    public static String name = "test";//可修饰成员变量,在类加载时加载
    public Integer age = 10;
    static{//修饰静态代码块,类加载时加载
        System.out.println("======================");
        //静态导入省略类名
        out.println(name);
        out.println("static is init");
    }

    public StaticTest(){
        out.println("init constractor");
    }
    //可修饰静态方法,可使用类名.的形式调用、或者使用对象.的形式调用
    public static void testMain(){

        out.println("invoke testMain");
    }

    public static void main(String[] args) {

        student.main(null);
    }

    class user{
        private String userName;
        {
            System.out.println("user");
        }
    }
    //修饰内部类
    static class student{
        private String studentName;
    static{
        System.out.println("student static");
    }
        public static void main(String[] args) {
            //student stu = new student();
            //System.out.println(stu.studentName);
            System.out.println(name);
        }
    }
}

你可能感兴趣的:(Java中static关键字作用)