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");
        }
    }
}
AI 代码解读
相关文章
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
81 5
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
63 12
Java 面试资料中相关代码使用方法与组件封装方法解析
这是一份详尽的Java面试资料代码指南,涵盖使用方法与组件封装技巧。内容包括环境准备(JDK 8+、Maven/Gradle)、核心类示例(问题管理、学习进度跟踪)、Web应用部署(Spring Boot、前端框架)、单元测试及API封装。通过问题库管理、数据访问组件、学习进度服务和REST接口等模块化设计,帮助开发者高效组织与复用功能,同时支持扩展如用户认证、AI推荐等功能。适用于Java核心技术学习与面试备考,提升编程与设计能力。资源链接:[点此下载](https://pan.quark.cn/s/14fcf913bae6)。
67 6
Java 面试资料中相关代码使用方法与组件封装方法解析
|
29天前
|
Java 编译与解释并存使用方法的详细解析
本文介绍了Java编译与解释并存的使用方法及其组件封装技巧。首先讲解了如何通过`javac`编译源代码生成字节码,再由JVM解释执行,并利用JIT编译优化性能。接着详细说明了基于接口的组件设计、实现、注册和动态加载方法,以及通过JAR文件进行模块化封装和依赖注入支持。最后提供了一个完整的组件化应用示例,展示如何根据输入动态选择处理器。这种机制充分发挥了Java的跨平台特性与运行时性能优化能力,适合用于构建灵活、可扩展的应用系统。
28 1
Java SE 与 Java EE 组件封装使用方法及实践指南
本指南详细介绍了Java SE与Java EE的核心技术使用方法及组件封装策略。涵盖集合框架、文件操作、Servlet、JPA、EJB和RESTful API的使用示例,提供通用工具类与基础组件封装建议,如集合工具类、文件工具类、基础Servlet、实体基类和服务基类等。同时,通过分层架构集成示例展示Servlet、EJB和JPA的协同工作,并总结组件封装的最佳实践,包括单一职责原则、接口抽象、依赖注入、事务管理和异常处理等。适合希望提升代码可维护性和扩展性的开发者参考。
57 0
Java 中 .length 的使用方法:深入理解 Java 数据结构中的长度获取机制
本文深入解析了 Java 中 `.length` 的使用方法及其在不同数据结构中的应用。对于数组,通过 `.length` 属性获取元素数量;字符串则使用 `.length()` 方法计算字符数;集合类如 `ArrayList` 采用 `.size()` 方法统计元素个数。此外,基本数据类型和包装类不支持长度属性。掌握这些区别,有助于开发者避免常见错误,提升代码质量。
198 1
|
5月前
|
Volatile关键字与Java原子性的迷宫之旅
通过合理使用 `volatile`和原子操作,可以在提升程序性能的同时,确保程序的正确性和线程安全性。希望本文能帮助您更好地理解和应用这些并发编程中的关键概念。
107 21
|
3月前
|
深入理解 Java 中的 instanceof 关键字
本文深入解析了 Java 中的 `instanceof` 关键字,探讨其在类型判断中的作用。作为二元操作符,`instanceof` 可用于检查对象是否为某类实例或实现特定接口,避免类型转换异常 (`ClassCastException`)。文章通过多态性下的类型判断、安全类型转换、接口实现检测及集合元素类型判定等实际应用场景,展示了 `instanceof` 的强大功能。掌握该关键字可提高代码健壮性,确保运行时类型安全。
142 0
课时8:Java程序基本概念(标识符与关键字)
课时8介绍Java程序中的标识符与关键字。标识符由字母、数字、下划线和美元符号组成,不能以数字开头且不能使用Java保留字。建议使用有意义的命名,如student_name、age。关键字是特殊标记,如蓝色字体所示。未使用的关键字有goto、const;特殊单词null、true、false不算关键字。JDK1.4后新增assert,JDK1.5后新增enum。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问