Java基础知识总结:浅谈static关键字的使用

36、T5L 迪文屏C51开发之绘制动态曲线 T5L 迪文屏C51开发之绘制动态曲线1、介绍2、例程功能简介3、GUI界面设计3、C51程序设计 1、介绍   本文将利用DGUS Tool软件中的【动态曲线控件】来绘制曲线效果,在T5L迪文屏中总共支持8个通道的曲线,而曲线数据是需要缓冲区的,如果 8 通道曲线同时使用,0x1000-0x4FFF 将作为曲线缓冲区地址,此时该部分变量地址不能被其他控键使用,其他控键地址使用范围为0x5000-0xFFFF,当某曲线通道不被使用时,那么其所对应的缓冲区地址可以做其他用途,曲线通道具体的地址分布如下图所示: 阅读详情

static关键字常常和final关键字一起讨论,当人们谈论final关键字时,基本都会一起讨论static关键字,但是与final关键字不同的是,static关键字修饰的成员并不是不可变的。

static关键字常用来修饰:变量、方法、类、静态代码块、静态导包

static关键字修饰成员变量:

当使用static关键字修饰成员变量时,该变量就变成了类变量,可以通过类名.变量名直接引用,而不需要new出一个对象来访问,static修饰的变量也叫做静态变量,静态变量和非静态变量的区别是:静态变量被所有对象共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。静态变量只有一个副本,所以,一处变,处处变。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

举个例子:

如果将变量定义为static,每个类中只有一个这样的变量。而每一个对象对于所有的实例域 却都有自己的一份拷贝。例如,假定需要给每一个雇员赋予唯一的标识码、这里给Employee类添加一个实例域id和一个静态域nextld:
class Employee
{
     private static int nextld = 1;
     private int id;

}

现在,每一个雇员对象都有一个自己的id域,但这个类的所有实例将共享一个nextld 域。换句话说,如果有1000个Employee类的对象,则有1000个实例域id。但是,只有一 个静态域nextld。即使没有一个雇员对象,静态域nextld也存在。它属于类,而不属于任何独立的对象。

从JVM的类加载机制的角度讲,静态资源是类初始化的时候加载的,而非静态资源是类new的时候加载的。类的初始化早于类的new。所以,当一个类被加载时,静态资源就已经初始化了。

static关键字修饰方法

如果一个方法被static修饰,此时这个方法就是静态方法,同样的可以通过类名.方法名来访问,而不需要new一个对象,但是需要注意的是,在静态方法中无法引用非静态资源,但是在非静态方法中却是可以引用静态资源的,还有,静态方法不能使用this关键字。

static修饰代码块

static修饰静态代码块可以说用的非常普遍,使用static修饰的代码块会在类被加载时操作并且只会被操作一次,无论这个类new了多少个对象,静态代码块执行一次,而执行的时间就是在类加载的时候,通常被用来做初始化,但是要注意的是,这个时候可以对变量做初始化,但是不可以访问。

静态资源的加载顺序是严格按照静态资源的定义顺序来加载的。static静态代码块可以置于类中的任何地方,类中可以有多个static静态代码块。在类初次被加载的时候,会按照static块的顺序来依次执行每个static块。在《深入理解Java虚拟机:JVM高级特性与最佳实践》中类初始化中的说法“<clinit>()方法是由编译器自动收集类中所有类变量的赋值动作和静态语句块(static{}块)中的语句合并产生的,编译器收集的顺序是由语句在源文件中出现的顺序所决定的”,同样表明了,类加载时会根据静态资源的顺序来加载静态资源。静态代码块是严格按照父类静态代码块->子类静态代码块的顺序加载的,且只加载一次。

static关键字修饰类:

static一般是不会用来修饰一个类的,但是如果必须要修饰一个类,那么这个类必须为内部类,即匿名内部类。

pycharm一直选择不了conda正确路径弹框报错:latinit property envs_dirs has not been initialized...如何解决? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。 阅读详情

相关推荐

MTK PE+2.0介绍

  PE+2.0介绍:   1.      PE+2.0的状态机: 2.      升压波形协议及编码规则: PE+2.0软件设计:   在充电器类型为标充且底层电量SOC在1%—95%之间时,开始PE+2.0升压充电器的检测:首先将VBUSreset至5V,之后发送8.5的current pattern再获取此时VBUS电压和8.5V比较,若其与8.5的差值绝对值在0.5之...

raydom07的博客 1万+

Java基础知识学习:static关键字

static关键字_内存分析静态变量和静态方法 通常来说,当创建类是,就是在描述类的对对象的外观与行为.除非用new创建那个类的对象,否则,实际上并未获得任何对象那个.执行new来创建对象时,数据存储空间才被分配,其方法才供外界调用 但是有两种情况是上述方式无法解决的,一种是,只想为某特定域分配单一存储空间,而不去考虑究竟要创建多少对象,甚至根本就不创建对象.另一种情形是,希望某个方法不与包含它的类的任何对象关联在一起,换句话说,即使没有创建对象,也能够调用这个方法 static关键字可以满足这两方面的需

qq_41649001的博客 382

历年北京理工大学复试专业综合题

。

A place to record sth. 2万+

java中static关键字的使用说明

1、static关键字的用途  在《Java编程思想》P86页有这样一段话:   “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”   这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简...

奋斗的哼哼 3万+

Excel VBA+Adobe Acrobat Pro PDF发票识别全流程(附避坑指南)

本文详细介绍了如何利用Excel VBA与Adobe Acrobat Pro的API接口,构建一套企业级PDF发票智能识别与处理系统。内容涵盖从环境配置、核心文本提取原理、数据解析清洗到工程化脚本设计的全流程,并针对密码区干扰、不征税发票等常见问题提供避坑指南,旨在帮助财务人员和开发者实现高效、精准的财务数据处理自动化。

weixin_29207439的博客 346

如何实现C++动态调用动态链接库(DLL或SO)

使用函数指针来定义函数的类型,以便在动态库中找到的函数能够正确地调用。函数指针的类型必须与函数的签名(参数类型和返回类型)匹配。// 函数指针#ifdef _MSC_VER // Windows环境下的导出声明__declspec。

weixin_48438353的博客 7982

java中的static关键字

​ 在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。​ Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。

雨溪的博客 905

intel-VROC raid卡驱动 centos7.9

u盘进入系统,按e,在出现下面在quiet前面输入inst.dd initcall_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。进入系统,按e,在出现下面在quiet前面输入inst.dd inicll_blacklist=vmd_drv_init 后按Ctrl和x,开始引导。驱动完成后,在输入 c 回车, 引导过程开始,进入安装界面。输入1 ,选择这个ISO驱动文件里的rpm包。输入1 ,选择这个ISO驱动文件里的rpm包。vi编辑 /etc/default/grub。

dacming的博客 4539

浅谈java中static关键字修饰的几种用法

在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。 static关键字 1,修饰成员变量 类,里面有属性和方法 属性里面又分局部变量,实例变量和类变量 实例变量,在创建对象的时候分配空间初始化 类变量不再属于某一个对象,它属于全类...

Java开发,人工智能,边缘计算,致力于掌握前沿技术 1722

YOLOv11改进策略【卷积层】| ICCV-2023 引入Dynamic Snake Convolution动态蛇形卷积,改进C3k2

基于拓扑几何约束的动态蛇卷积用于管状结构分割DSConv(Dynamic Snake Convolution,动态蛇形卷积)模块的设计主要是为了更好地处理管状结构的分割任务,解决传统卷积在处理细管状结构时的不足。

Limiiiing的博客 1627

无人机视觉锁定与目标跟踪技术深度解析(含完整代码)

本文介绍了无人机视觉锁定系统的核心技术实现,包括系统架构、目标检测与跟踪算法。系统采用YOLOv5进行初始目标检测,结合手动框选作为备选方案。在跟踪环节对比了KCF、CSRT等传统方法和SiamFC等深度学习算法,最终选用CSRT作为CPU平台最优方案。文章详细解析了相关滤波跟踪的数学原理,并提供了目标检测器和跟踪器的Python实现代码。该系统能有效处理目标遮挡、光照变化等挑战,为无人机自主跟踪提供了实用解决方案。

电脑管家 682

java中static关键字浅谈

基本规则 Java中static关键字修饰的成员变量和方法是静态变量和方法,使用规则如下: 1. static方法只能调用static方法或static变量,不能调用非static方法或非static变量,换句话说就是,静态方法只能调用静态方法或静态变量,不能调用非静态方法或非静态变量。注:在静态方法中可以通过创建对象,通过创建的对象调用该对象的非静态方法。 2.static方法中不能使用t...

任枫的博客 1367

【Ubuntu】RK3576 Linux 6.10 Ubuntu 22.04 系统中 HUSB311 Type-C 转 DP 显示输出与 Device/OTG 模式切换配置详解

本文详细介绍了在Rockchip RK3576开发板(Linux Kernel 6.10+Ubuntu 22.04)上配置HUSB311 Type-C控制器的设备树实现方案。主要内容包括:1)硬件连接与模块组成;2)设备树完整配置,涵盖Type-C供电、USB OTG/Host模式、DP显示输出等关键功能;3)软件配置步骤与常见问题排查方法。该方案实现了Type-C接口的DisplayPort AltMode显示输出、USB Device/Host模式自动切换等功能,为嵌入式系统Type-C接口开发提供参考

qq_34478161的博客 807

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

一、static代表着什么在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,当然也可以修饰代码块。Java把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用,堆内存主要存放一些对象。在JVM加载一个类的时候,若该类存在static修饰的成员变量...

weixin_39917090的博客 3221

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java 为什么在static中不能使用this关键字

Static方法是类方法,先于任何的实例(对象)存在。 即Static方法在类加载时就已经存在了,但是对象是在创建时才在内存中生成。 而this指代的是当前的对象 在方法中定义使用的this关键字,它的值是当前对象的引用。也就是说你只能用它来调用属于当前对象的方法,或者使用this处理方法中成员变量和局部变量重名的情况. 而且,更为重要的是this和super都无法出现在static修饰的方法中。...

木头人i 1518

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[java] static关键字总结

Table of Contents 概述 修饰类的变量 修饰方法 修饰代码块 静态导入包 用法 static关键字与java内存 概述 static 在java体系里的地位:java语言的一个修饰符,属于非访问修饰符,所谓访问修饰符就是控制访问权限的修饰符,如public,protected,private,default 再来看看static翻译成中文的意思:静止...

topdeveloperr的博客 1634

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

浅谈Java之static关键字

最近学习了秒杀系统,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用 文章目录一 修饰成员变量二 修饰成员方法三 静态块四 静态导包五 总结    在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下s...

ergouy's blog 233

Java的static关键字

static关键字的特点,适用场景以及注意事项

weixin_45927386的博客 782

Java static关键字的使用详解

一、static关键字概述 二、被static关键字修饰的属性和方法 1.被static修饰的属性 2.被static修饰的方法 3.static在内存中运行的过程 三、静态代码块

二师兄想吃肉的博客 976

java static关键字的作用是什么_static关键字有什么作用

今天主要学习下Java语言中的static关键字。static关键字的含义及使用场景static是Java50个关键字之一。static关键字可以用来修饰代码块表示静态代码块,修饰成员变量表示全局静态成员变量,修饰方法表示静态方法。(注意:不能修饰普通类,除了内部类,这是为什么?)class A {static {System.out.println("A : 静态代码块");}static in...

weixin_42681774的博客 2178

Java中static关键字

Java中static关键字 “static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下被访问。 Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任何实例都不相关,所以概念上不适用。 java中也不可以覆盖private的方法,因为private修饰的变量和方法只能在当前类中使用,如...

weixin_41924879的博客 957

java中static可以修饰吗_浅谈java中static关键字修饰的几种用法

在java的关键字中,static和final是两个我们必须掌握的关键字。不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构。下面我们先来了解一下static关键字及其用法。static关键字1,修饰成员变量类,里面有属性和方法属性里面又分局部变量,实例变量和类变量实例变量,在创建对象的时候分配空间初始化类变量不再属于某一个对象,它属于全类公有;实例变...

weixin_36176546的博客 1273

Java中static关键字及static{}的使用

Java中static关键字的使用: static翻译为“静态”; 所有static关键字修饰的都是类相关的,类级别的; 所有static修饰的,都是采用“类名.”的方式访问。(虽然使用“引用.静态变量”不会报错,但不建议使用) 变量根据声明的位置进行划分:在方法体当中声明的变量叫做:局部变量; 在方法外面声明的变量叫做:成员变量。 成员变量又可以分为:实例变量,静态变量。 .变量存储位置: 局部变量存储在:栈 实例变量存储在:堆 静态变量存储在:方法区 空指针异常情况: 实例成员:

pipizhen_的博客 1185

浅谈java中的static关键字

学习自:http://www.cnblogs.com/dolphin0520/p/3799052.html static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。比如一些常量 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static主要有4中使用情况:成员变量、成员方法、代码块和内部类 举例...

atb37220的博客 185

Java基础知识全面总结(第四章-static关键字)

static是一个关键字,可以用来修饰方法和类的属性,当用static修饰类的属性时,被修饰的属性将和普通属性有以下区别:(1.内存中的存放位置不同,普通属性存放在堆内存中,被static修饰的属性存放在全局数据区,(2.普通属性在堆内存中只要新建了一个实例化对象,就会产生一份新的属性值,而被static修饰的属性在全局数据区有且仅有一份,不会随着实例化对象的产生而增多,

psjasf1314的博客 1234

Java——static关键字

Java中的static关键字用于修饰类成员,使其成为类级别的共享成员。静态变量在内存中只有一份拷贝,被所有实例共享;静态方法可直接通过类名调用,但不能访问非静态成员和使用this/super。静态代码块在类加载时执行一次,常用于初始化静态资源。初始化顺序为:父类静态→子类静态→父类实例→父类构造→子类实例→子类构造。

2302_79781252的博客 1085
上一篇: Java基础知识总结:浅谈final关键字的使用
下一篇: jquery 中select下拉框根据option的text值获取选中的value值的小技巧
Mr.姚先森
博客等级 码龄11年 26粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值