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

简介: static作为java的关键字,主要有以下5点用处: 静态变量 ,静态方法,静态代码块,内部静态类,静态导包

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");
        }
    }
}
相关文章
|
16天前
|
存储 Java 开发者
Java 中 Set 类型的使用方法
【10月更文挑战第30天】Java中的`Set`类型提供了丰富的操作方法来处理不重复的元素集合,开发者可以根据具体的需求选择合适的`Set`实现类,并灵活运用各种方法来实现对集合的操作和处理。
|
24天前
|
存储 Java
Java 中的静态(static)
【10月更文挑战第15天】静态是 Java 语言中一个非常重要的特性,它为我们提供了一种方便、高效的方式来管理和共享资源。然而,在使用过程中,我们需要谨慎考虑其优缺点,以确保代码的质量和可维护性。
|
1月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
28 3
|
1月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
23 5
|
1月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
195 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
2月前
|
存储 Java
Java之静态(static)与实例(instance)
Java之静态(static)与实例(instance)
|
1月前
|
Java 数据安全/隐私保护
java学习笔记(基础习题)
java学习笔记(基础习题)
33 0
|
1月前
|
Java 程序员 开发工具
java学习笔记
java学习笔记
37 0
|
存储 Java 数据库
Java-对象的操作(构造、初始化、封装)、static成员以及代码块(中)
Java-对象的操作(构造、初始化、封装)、static成员以及代码块(中)
63 1
|
Java 编译器
Java-对象的操作(构造、初始化、封装)、static成员以及代码块(上)
Java-对象的操作(构造、初始化、封装)、static成员以及代码块(上)
63 1
Java-对象的操作(构造、初始化、封装)、static成员以及代码块(上)