JAVA学习笔记:STATIC关键字的使用方法

static作为java的关键字,主要有以下5点用处

静态变量
静态变量和非静态变量的区别在于,静态变量在类初次加载的时候初始化,而非静态变量在类实例化的时候初期化
典型用法:定义常数

静态方法
静态方法和非静态方法与静态变量和非静态变量的区别类似,静态方法为class所有,可以直接通过class.method的方式调用,而非静态方法为对象所拥有,需要先实例化类得到一个对象后,通过object.method进行调用
典型用法:各种utils

静态代码块
类加载时直接执行,先于main方法,常用于初始化
典型用法:单例模式

内部静态类
外部需要通过ParentClass.ChildClass的方式调用,ParentClass的静态代码可以通过ChildClass的方式直接调用
典型用法:HashMap

静态导包
使指定类的静态方法或者静态变量对本类可见
典型用法:就它自己,静态导包

下面是一个包含所有用法的例子,如果你看懂了,66666666666666

package architecture;

/**
 * 静态导入
 */
import static java.lang.System.out;

public class TestClass {

    /**
     * 静态变量
     */
    public static final String BLOG = "soaringroad";

    static {
        out.println(BLOG + ":静态代码块 start");
        new TestStaticClass();
        out.println(BLOG + ":静态代码块 end");
    }

    /**
     * 静态方法
     * 
     * @param args
     */
    public static void staticMethod() {
        out.println(BLOG + ":静态方法");
    }

    /**
     * 静态内部类
     */
    private static class TestStaticClass {
        public TestStaticClass() {
            out.println(BLOG + ":内部静态类 start");
            staticMethod();
            out.println(BLOG + ":内部静态类 end");
        }
    }
}
上一篇:SQL Server数据库对上亿表的操作


下一篇:Win10 UWP xaml 延迟加载元素