当前位置: 首页 > news >正文

4.6 static修饰符

static是一个修饰符,用于修饰类的成员属性和成员方法,还可以编写static代码块来优化程序性能。

1. static修饰属性

在Java程序中使用static修饰属性,则该属性称为静态属性(也称全局属性),静态属性可以使用类名直接访问。

通常,static与final一起使用来定义类常量。

  • 常量类

public class Constants{public static String SEX_MALE = "1";               //男public static String SEX_FEMALE = "2";             //女//public static final String SEX_MALE = "1";       //男//public static final String SEX_FEMALE = "2";     //女
}
  • 测试类

public class TestStatic {@Testpublic void test(){System.out.println("男人的编码是:" + Constants.SEX_MALE);System.out.println("女人的编码是:" + Constants.SEX_FEMALE);}
}

2. static修饰方法

static修饰的方法是静态方法,类加载后可直接调用此方法,不需要一个此类的实例。

注意,静态方法只能访问静态成员(静态成员变量和静态成员方法),因为非静态成员需要先创建对象才能访问,即随着对象的创建,非静态成员才会分配内存。而静态方法在被调用时可以不创建任何对象。

  • Alarm类

public class Alarm{public static void ring(){System.out.println("闹钟响...");}
}
  • 测试类

public class TestAlarm {@Testpublic void test(){Alarm.ring();}
}

3. static修饰代码块

在Java类中,用static关键字修饰的代码块称为静态代码块。当类被加载时,静态代码块就会执行,由于类只加载一次,所以静态代码块只执行一次。

  • Alarm类

public class Alarm{{System.out.println("普通代码块");}static {System.out.println("静态代码块");}
}
  • 测试类

public class TestAlarm {@Testpublic void test(){Alarm alarm1 = new Alarm();Alarm alarm2 = new Alarm();}
}
  • 结果

静态代码块
普通代码块
普通代码块

相关文章:

4.6 static修饰符

static是一个修饰符,用于修饰类的成员属性和成员方法,还可以编写static代码块来优化程序性能。 1. static修饰属性 在Java程序中使用static修饰属性,则该属性称为静态属性(也称全局属性),静态属性可以使用…...

C++头文件定义变量

1.在进行头文件学习时,犯了不少错误,记录一下,先贴代码. .h头文件 #ifndef MY_FIRST_H_ #define MY_FIRST_H_struct Person {std::string name;int age;char8_t gender; };//需要使用extern来声明,否则在多个文件中引入该头文件会出现重定义…...

[蓝桥杯-610]分数

题面 解答 这一题如果不知道数论结论的话,做这个题会有两种天壤之别的体验 此题包含以下两个数论知识 1. 2^02^12^2...2^(n-1)2^n-1 2. 较大的数如果比较小的数的两倍大1或者小1,则两者互质 所以答案就是2^n-1/2^(n-1) 标程1 我的初次解答 #in…...

Vue指令大全:深入探索Vue提供的强大指令功能

目录 v-bind指令 v-on指令 v-if和v-show指令 v-for指令 自定义指令 其他常用指令 总结 Vue.js是一款流行的JavaScript框架,具备丰富的指令系统。Vue指令允许开发者直接在模板中添加特殊属性,以实现DOM操作、事件绑定、样式控制等功能。在本文中&a…...

x210项目重新回顾之十七升级到linux4.19.114 +buildroot2018再讨论

代码参考https://github.com/colourfate/x210_bsp/ 他的是linux_4.10(dtb为 s5pv210-x210..dtb)我打算用linux4.19.114(dtb为 s5pv210-smdkv210.dtb) ,所以修改build.sh ------------------------------------------------------------------------------ 5 M…...

shell_56.Linux永久重定向

永久重定向 1.脚本中有大量数据需要重定向,那么逐条重定向所有的 echo 语句会很烦琐。 这时可以用 exec 命令,它会告诉 shell 在脚本执行期间重定向某个特定文件描述符: $ cat test10 #!/bin/bash # redirecting all output to a file ex…...

CN考研真题知识点二轮归纳(1)

本轮开始更新真题中涉及过的知识点,总共不到20年的真题,大致会出5-10期,尽可能详细的讲解并罗列不重复的知识点~ 目录 1.三类IP地址网络号的取值范围 2.Socket的内容 3.邮件系统中向服务器获取邮件所用到的协议 4.RIP 5.DNS 6.CSMA/CD…...

hadoop使用简介

git clone hadoop源码地址:https://gitee.com/CHNnoodle/hadoop.git git clone错误: Filename too long错误,使用git config --global core.longpaths true git clone https://gitee.com/CHNnoodle/hadoop.git -b rel/release-3.2.2 拉取指定…...

WebSocketClient objects are not reuseable

好久没写东西,夜深了来冒个泡,先啰嗦几句。今天测试 Android App 的时候,发现推到后台不到一分钟再唤醒直接闪退,初次以为网络和GPS信号弱导致的(当时是在地铁上进行的测试),之后在网络与GPS 信…...

分享54个ASP.NET源码总有一个是你想要的

分享54个ASP.NET源码总有一个是你想要的 链接:https://pan.baidu.com/s/1khPzxtOFP0wUHpg7TBDitg?pwd8888 提取码:8888 项目名称 (ASP.Net)基于三层架构的企业信息管理系统 asp .net mvc编写的房产管理系统 asp.net core mvc 病人管理后台 asp.ne…...

闭包通俗解释,Demo(Go Java Python)

闭包的概念 想象一下,你有一个包裹着变量的函数,就像是一个封闭的包裹。这个包裹里有一个变量,而这个函数(或包裹)本身就是一个完整的单元。当你把这个函数传递给其他地方,就像是把这个包裹传递出去。 这…...

Linux部署Redis Cluster高可用集群(附带集群节点添加删除以及槽位分配操作详解)

目录 一、前言二、下载安装Redis2.1、选择需要安装的Redis版本2.2、下载并解压Redis2.3、编译安装Redis 三、部署Redis Cluster高可用集群3.1、准备配置文件3.2、启动Redis服务3.3、创建Redis集群3.4、查看集群关系3.5、连接集群Redis进行数据读写以及重定向测试3.6、故障转移和…...

【PWN · heap | Off-By-One】Asis CTF 2016 b00ks

萌新进度太慢了,才真正开始heap,还是从简单的Off-By-One开始吧 前言 步入堆的学习。堆的知识复杂而多,于是想着由wiki从简单部分逐个啃。 b00ks是经典的堆上off-by-one漏洞题目。刚开始看很懵(因为确实连堆的管理机制都没有完全…...

C++STL---Vector、List所要掌握的基本知识

绪论​ 拼着一切代价,奔你的前程。 ——巴尔扎克;本章主要围绕vector和list的使用,以及容器底层迭代器失效问题,同时会有对原码的分析和模拟实现其底层类函数。​​​​话不多说安全带系好,发车啦(建议电脑…...

使用FastAPI部署Ultralytics YOLOv5模型

YOLO是You Only Look Once(你只看一次)的缩写,它具有识别图像中的物体的非凡能力,在日常应用中会经常被使用。所以在本文中,我们将介绍如何使用FastAPI的集成YOLOv5,这样我们可以将YOLOv5做为API对外提供服务。 Python有几个web框…...

A. Doremy‘s Paint 3

今天第一次打CF,不过鼠鼠被气死了 先说说战况,今天一发没A(赛场上),生活真是无奈,废物女友真是一点用没有 心里也很烦,什么压力都自己扛着。每天想尝试改变什么,又被现实掣肘&…...

深度学习_1 介绍;安装环境

深度学习 学习自李沐老师的课程。笔记主要以总结老师所讲解的内容以及我个人的想法为主,侵删! 课程链接:课程安排 - 动手学深度学习课程 (d2l.ai) 介绍 AI地图: 首先,AI 能对问题处理到什么地步?分为四…...

Python基础入门例程19-NP19 列表的长度(列表)

最近的博文: Python基础入门例程18-NP18 生成数字列表(列表)-CSDN博客 Python基础入门例程17-NP17 生成列表(列表)-CSDN博客 Python基础入门例程16-NP16 发送offer(列表)-CSDN博客 目录 描述 输入描述: 输出描述&#xff1…...

LeetCode 2558. 从数量最多的堆取走礼物

【LetMeFly】2558.从数量最多的堆取走礼物 力扣题目链接:https://leetcode.cn/problems/take-gifts-from-the-richest-pile/ 给你一个整数数组 gifts ,表示各堆礼物的数量。每一秒,你需要执行以下操作: 选择礼物数量最多的那一…...

【JVM】字节码文件的组成部分

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 Redis 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 JVM 一、字节码文件的组成部分1.1 iconst_0…...

三步让老Mac焕发新生:OpenCore Legacy Patcher终极指南

三步让老Mac焕发新生:OpenCore Legacy Patcher终极指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为那台陪伴多年的老Mac感到惋惜…...

告别手动转换:docx2tex如何让Word到LaTeX的转换变得简单高效

告别手动转换:docx2tex如何让Word到LaTeX的转换变得简单高效 【免费下载链接】docx2tex Converts Microsoft Word docx to LaTeX 项目地址: https://gitcode.com/gh_mirrors/do/docx2tex 还在为Word文档转换为LaTeX格式而烦恼吗?每次手动调整格式…...

深入CPU内部:8086的MUL指令是如何工作的?从硬件视角理解乘法结果为何放在AX和DX

深入CPU内部:8086的MUL指令硬件实现原理全解析 记得第一次在调试器中单步执行MUL指令时,看到AX和DX寄存器突然被一堆十六进制数填满,那种既兴奋又困惑的感觉至今难忘。作为x86架构中最基础的乘法指令,MUL表面看似简单&#xff0c…...

别再只盯着P0XXX了!一文搞懂UDS诊断中DTC的三个字节到底在说什么(附实战解析)

解码UDS诊断中的DTC三字节:从十六进制到故障真相 当诊断仪屏幕上跳出"0x43E711"这样的神秘代码时,多数工程师的第一反应是翻查故障码手册。但真正的高手会像破译密码一样,直接拆解这三个字节背后的工程语言。本文将带您深入DTC的二…...

D2DX技术深度解析:如何为经典暗黑破坏神2注入现代图形渲染能力

D2DX技术深度解析:如何为经典暗黑破坏神2注入现代图形渲染能力 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx D…...

OpenAI通用推理模型攻克近80年数学难题,打脸7个月前虚假突破质疑

【导语:5月21日,OpenAI宣布其一款未对外发布的内部通用推理模型独立完成原创数学证明,推翻了匈牙利数学家保罗埃尔德什1946年提出的“平面单位距离猜想”,这是AI首次独立攻克数学领域核心著名公开难题。】AI攻克近80年几何猜想Ope…...

避坑指南:在STM32F407上移植QRcode库生成二维码,这些内存和显示细节要注意

STM32F407二维码生成实战:内存优化与显示调校的避坑法则 在嵌入式设备上实现二维码生成功能,看似简单的需求背后却暗藏玄机。当开发者兴冲冲地将开源QRcode库移植到STM32F407平台时,往往会遭遇一系列"意外":内存突然耗尽…...

RTX251实时系统中NMI中断支持问题解析

1. RTX251调试中的NMI中断问题解析在嵌入式系统开发中,非屏蔽中断(NMI)作为一种高优先级的中断机制,通常用于处理系统关键错误和调试场景。然而,当使用Keil的RTX251实时操作系统与Temic 251系列芯片配合时,开发者可能会遇到NMI支持…...

TSC打印机Java开发避坑指南:从DLL配置到中文乱码,一次讲清楚

TSC打印机Java开发避坑指南:从DLL配置到中文乱码,一次讲清楚 第一次用Java调用TSC打印机时,那种挫败感至今难忘。明明照着官方文档一步步操作,却总是卡在DLL加载失败、中文变成乱码这些看似简单的问题上。这篇文章就是把我踩过的坑…...

如何为SUSI ViberBot添加自定义功能:扩展按钮与交互体验的完整指南

如何为SUSI ViberBot添加自定义功能:扩展按钮与交互体验的完整指南 【免费下载链接】susi_viberbot Viberbot for SUSI AI http://susi.ai 项目地址: https://gitcode.com/gh_mirrors/su/susi_viberbot 想要为你的SUSI ViberBot添加个性化功能吗?…...