java中static关键字的作用是什么?

在Java中,static 是一个关键字,它可以用来修饰类的成员变量、成员方法和内部类。static 的作用主要有以下几个方面:

  1. 静态变量(Static Variables):
    当变量被声明为static时,它变成了类的静态变量,而不再是实例的变量。静态变量被所有类的实例共享,而不是每个实例各自拥有一份。
public class TestClass {static int staticVariable;// 其他成员和方法
}
  1. 静态方法(Static Methods):
    类的静态方法是一个属于类而不是实例的方法。静态方法不能直接访问实例变量,只能访问静态变量。
public class TestClass {static void staticMethod() {// 静态方法的实现}// 其他成员和方法
}
  1. 静态块(Static Blocks):
    静态块是在类加载时执行的一段代码块。它用于进行静态变量的初始化或执行一些只需要执行一次的操作。
public class TestClass {static {// 静态块的初始化操作}// 其他成员和方法
}
  1. 静态导入(Static Import):
    static 还可以用于导入类的静态成员,使得在使用这些静态成员时不需要通过类名来限定。
package com.xiangpingeasy.learn.demo;import static java.lang.Math.*;public class TestClass {public static void main(String[] args) {double result = sqrt(25); // 等价于 Math.sqrt(25)System.out.println(result); // 输出 5.0}
}
  1. 静态内部类(Static Inner Classes):
    如果一个内部类被声明为static,它就成为了静态内部类。静态内部类不需要依赖于外部类的实例而被实例化。
public class OuterClass {static class StaticInnerClass {// 静态内部类的实现}
}

static 的主要作用是将成员变量、方法或内部类与实例对象解绑,使其属于类本身而不是实例。这样,就可以通过类名直接访问静态成员,而不需要先创建类的实例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天面试招了个25K的测试员,从腾讯出来的果然都有两把刷子···

公司前段时间缺人,也面了不少测试,前面一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在15-25k,面试的人很多,但平均水平很让人失望。看简历很多都是4年工作经验,但面试中,不…

OkGo导入失败解决办法

jcenter()maven { url "https://jitpack.io" }再同步就可以了

罗马数字转整数算法(leetcode第13题)

题目描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

微服务主要特点Java微服务开发的关键技术

【点我-这里送书】 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(…

c++ atmoic acquire/release

由于多核cpu缓存的存在,以及gcc编译优化,cpu指令层面的优化,导致程序的执行顺序可能跟你写的顺序不完全一致(reorder)。 但是在多线程编程中如何确保各个线程能正确的读取到各个变量呢(而不是cache中老旧的…

【Vue3从入门到项目实现】RuoYi-Vue3若依框架前端学习——登录页面

若依官方的前后端分离版中,前端用的Vue2,这个有人改了Vue3的前端出来。刚好用来学习: https://gitee.com/weifengze/RuoYi-Vue3 运行前后端项目 首先运行项目 启动前端,npm install、npm run dev 启动后端,按教程配置…

Spring第四课,MVC终章,应用分层的好处,总结

Spring MVC其实也就是Spring Web 软件的设计原则:高内聚,低耦合 高内聚:一个模块各个元素之间联系的紧密程度,如果各个元素(语句,程序段)之间的联系程度越高,即内聚性越高 低耦合:软…

自定义登录页面模板(移动端)

login/index <script setup lang"ts"> </script><template><div class"login-page">//组件 由于配置了自动注册&#xff0c;所以无需引入<cp-nav-barright-text"注册"click-right"$router.push(/register)&quo…

Codeforces Round 913 (Div. 3)补题

Rook 题目大意&#xff1a;我们给定一个棋盘(如下图)&#xff0c;棋盘上有一个车&#xff0c;问车可以到的位置&#xff0c;任意顺序输出即可。 思路&#xff1a;输出车的行列中非它本身的点即可。 #include<bits/stdc.h> using namespace std; int main() {int t;scanf…

缓存类型及优缺点:Ehcache、Caffeine、Memcached和Redis的比较

文章目录 一、缓存类型二、常见内存缓存三、常见分布式缓存三、Ehcache、Caffeine、Memcached和Redis优缺点以及适用场景1、Ehcache2、Caffeine3、Memcached4、Redis 四、小结五、Ehcache、Caffeine、Memcached、Redis分别支持的数据类型&#xff1f; 一、缓存类型 在Java中&a…

Fabric:链码的部署及执行

Hyperledger Fabric:V2.5.4 写在最前 使用Fabric搭建自定义网络参考&#xff1a;https://blog.csdn.net/yeshang_lady/article/details/134113296 使用Fabric创建应用通道参考&#xff1a;https://blog.csdn.net/yeshang_lady/article/details/134668458 接下来将介绍如何在自…

ELK的日志解决方案

1. 安装和配置ELK 确保你已经安装了Elasticsearch、Logstash和Kibana。你可以按照官方文档或使用包管理工具进行安装。 Elasticsearch官方配置文档 Kibana官方配置文档 2. Logstash配置 拉取logstash 创建容器 docker run -it \ --name logstash \ --privileged \ -p 5044:5…

Ubuntu-Sim2Real环境配置(下)

cd ICRA-RM-Sim2Real/docker_client/ ./exec_client.sh cd ~ roslaunch rtab_navigation rtab_navigation.launch 执行上面代码的时候后台一直刷新 cd ICRA-RM-Sim2Real/docker_client/ ./exec_client.sh cd ~ roslaunch carto_navigation navigation.launch 1.Usage 执行该…

【微服务】spring循环依赖深度解析

目录 一、循环依赖概述 1.2 spring中的循环依赖 二、循环依赖问题模拟 2.1 循环依赖代码演示 2.2 问题分析与解决 2.2.1 使用反射中间容器 三、spring循环依赖问题解析 3.1 spring中的依赖注入 3.1.1 field属性注入 3.1.2 setter方法注入 3.1.3 构造器注入 3.2 spri…

树莓派学习:wiringPi+硬件pwm+舵机

目录 目的 代码 只有io口1是支持pwm&#xff0c;其他要软件pwm 编译 运行 目的 黄色pwm&#xff0c;红色正极&#xff0c;棕色负极 让sg90舵机转动&#xff0c;就需要一个20ms的周期pwm&#xff0c;其中高电平在0.5-2.5ms之间 转动角度 高电平在一个周期内的时间0 …

ElasticSearch篇---第四篇

系列文章目录 文章目录 系列文章目录前言一、elasticsearch 是如何实现 master 选举的?二、elasticsearch 索引数据多了怎么办,如何调优,部署?三、说说你们公司 es 的集群架构,索引数据大小,分片有多少?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽…

集成开发环境 PyCharm 的安装【侯小啾python基础领航计划 系列(二)】

集成开发环境PyCharm的安装【侯小啾python基础领航计划 系列(二)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

LeetCode Hot100 207.课程表

题目&#xff1a; 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习…

掌握大型语言模型(LLM)技术:推理优化

原文链接&#xff1a;Mastering LLM Techniques: Inference Optimization | NVIDIA Technical Blog 大模型相关技术文章已整理到Github仓库&#xff0c;欢迎start! 堆叠Transformer层以创建大型模型可以获得更好的准确性、few-shot学习能力&#xff0c;甚至在各种语言任务中具有…