静态变量成员变量局部变量的调用方法和内存中的区别。

STM32 SAES硬件加密协处理器全模式工程实践指南 AES(高级加密标准)是嵌入式系统中最基础且关键的对称密码算法,其硬件加速实现直接影响安全、性能与功耗平衡。Secure AES Coprocessor(SAES)作为STMicroelectronics在STM32U5等高安全MCU中集成的专用密码协处理器,不仅支持标准ECB/CBC/CTR模式,更原生兼容GCM和CCM等认证加密模式,具备抗侧信道、密钥保护与DMA卸载能力。理解其寄存器状态机(CHMOD/MODE/CPHASE)、NPBLB数据对齐机制及GCM四阶段编程范式,是规避Tag校验失败、IV错 阅读详情

一.静态变量,成员变量,局部变量

1)局部变量
   方法或语句块内部定义的变量。
   生命周期是从声明位置开始到方法或语句块执行完毕为止。
   注:局部变量必须先声明,再赋值(初始化),才能被使用。
2)成员变量(实例变量)
   方法外部、类的内部定义的变量。
   从属于对象,生命周期伴随对象始终。 
   注:如果成员变量不进行初始化,它会自动初始化成该类型的默认初始值。
     使用成员变量,还需要先创建这个类的对象。

public class TestStatic {
	int a=4;
	public void test() {
		System.out.println(a); //不会报错
	}
}

因为在类内部的时候默认为this,也就是本对象。但是如果你在该类中的main方法中的话,只是一个程序的入口,不代表该类,你要使用该类还是得new。在该类的static方法中的话也是,需要先new出实例化对象。

使用成员变量,还需要先创建这个类的对象,在其他类中也一样。

public class TestStatic {
	int a=4;

	public static void test() {
		TestStatic tt = new TestStatic(); 
		System.out.println(tt.a);   //4
	}
}
class Test2{
	public void test1() {
		TestStatic tt = new TestStatic();
		System.out.println(tt.a);   //4
	}
}

3)静态变量(类变量)
   使用static关键字定义。
   从属于类,生命周期伴随类始终,从类加载到卸载。

public class TestStatic {
	static int a=4;

	public static void test() {
		System.out.println(a);    //在本类中可以直接调用,不用实例这个类的对象。
	}
}

class Test2{
	public void test2() {
		System.out.println(TestStatic.a); //在其他类中使用的话可以通过 类.变量名的方式直接调用,不用实例那个类的对象。
	}
}

二.成员变量的静态和静态在内存中的区别

成员变量有静态和非静态。

一:局部变量:每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法的成员变量就放在方法栈中,当方法结束系统会释放方法栈,其对应在该方法中声明的变量随着栈的销毁而结束,这就局部变量的生命周期决定于方法
其中当局部变量可以是基本类型的变量,也可以是引用类型的变量,
(1)当声明是基本类型的变量的时,其变量的名称和数值是放在方法栈中
(2)当声明的是引用变量时,所声明的变量(引用:地址)是放在方法的栈中,该变量所指向的对象是放在堆类存中的

二:成员变量,放在堆中的,同样成员变量既可是基本类型的变量 也可是引用类型的变量
(1)当声明的是基本类型的变量其变量名及数值是时放在堆类存中的。
(2)引用类型时,其声明的变量仍然会存储一个内存地址值,该内存地址值指向所引用的对象

三:静态成员变量是共享数据,在共享区中,也叫方法区中。
非静态成员变量在堆内存中。

四:局部变量如果是基础类型,则在栈上,如果是引用类型,则引用被存在栈上,引用指向的对象是在堆上的。局部变量定义在方法中,方法结束内存释放。

五:静态成员变量存储于方法区中,在类定义的时候已经被装载和分配,所以在实例化对象之前,就可以被调用。

四足机器人关节电机控制器实现(附C++代码) 本文先对做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。 阅读详情

相关推荐

使用 Restart Extension 继续解决 Ansys 机械分析

您正在执行复杂或大型的多步有限元分析,突然,您意识到经过数小时的求解后,您需要添加或修改边界条件。在本篇博文中,您将了解如何利用 Ansys Mechanical 中的 RestartAnalysis 扩展来扩展多步分析,方法是合并额外的时间步骤和边界条件,而不会丢失已计算的结果。幸运的是,在 Mechanical 中,有一种直接的方法可以实现这一点,而不会损害您之前的结果,而这在添加新边界条件和使用重新启动点时经常发生。得到的结果符合预期,您可以看到施加的力产生的这两个部分之间的相对位移。

jkh920184196的博客 1232

穿越Java - 基础篇 第三章 面向对象介绍 | 第4节 成员变量和局部变量

局部变量和成员变量的区别: 1.定义的位置不同 *局部变量定义在参数列表或方法体内部 *成员变量定义在类中,方法外 2.在内存中所处的位置不同 *局部变量存放在栈内存中 *成员变量存放在堆内存中 3.初始化不同: * 局部变量没有默认值,使用前必须进行初始化(赋初始值) * 成员变量有默认值,可以直接使用。 4.生命周期不同 * 局部变量在方法执行完毕后就从内存中销毁了 * 成员变量是随着对应的对象被jvm的垃圾回收器回收

weixin_47371330的博客 2750

从模拟到实战:移远EC800M单片机MQTT接入OneNet全流程解析

本文详细解析了移远EC800M单片机通过MQTT协议接入OneNet平台的全流程,涵盖环境准备、模拟设备搭建、硬件迁移、数据交互调试及性能优化等关键步骤。针对常见问题如AT指令缓冲区溢出、心跳间隔设置等提供实战解决方案,帮助开发者高效实现物联网设备稳定接入。

weixin_29215815的博客 430

java成员变量的调用_Java面向对象——成员变量和局部变量(成员变量和局部变量的初始化和内存运行机制&变量的使用规则)...

1、成员变量和局部变量简述在Java语言里,根据定义变量位置的不同,可以将变量分成两大类:成员变量和局部变量。二者的运行机制存在较大差异。1.1成员变量类变量从该类的准备阶段起开始存在,直到系统完全销毁这个类,类变量的作用域与这个类的生存范围相同;而实例变量则从该类的实例被创建起开始存在,直到系统完全销毁这个实例,实例变量的作用域与对应实例的生存范围相同。正是基于这个原因,可以把类变量和实例变量统...

weixin_34281191的博客 416

Winform美化框架AntdUI中Table的使用方法

使用核心注意点: 数据模型中属性名需要完全与new Column里的列名一致否则添加数据源则无法读取到详细内容。

wevix的博客 3676

MySQL安装配置教程(超级详细)

一、 下载MySQL Mysql官网下载地址:MySQL :: Download MySQL Installer (Archived Versions) 1. 选择要安装的版本,本篇文章选择的是5.7.31版本,点击Download下载 正在上传…重新上传取消 二、 安装MySQL 1. 选择设置类型双击运行mysql-installer-community-5.7.31.0.msi 这里选择是自定义安装,所以直接选择“Custom”,点击“Next” “Developer Default”是

m0_67322837的博客 5万+

局部变量和成员变量与this的使用

局部变量和成员变量: 局部变量没有初始值,而成员变量有 同名时,局部变量具有更高的优先级 作用域:局部变量只能在本方法中使用,成员变量可以在本类的所有方法中使用 同一个方法中,局部变量不允许重名 this(当前--指代自己本类)的使用: .this调用本类中的属性,也就是类中的成员变量; .this调用本类中的其他方法; .this调用本类中的其他构造方法,调用时要放在构造方法的首行。 第一种使用:指当前类中的属性和方法: th...

qq_62881798的博客 1265

华为OD机考双机位C卷 - 相对开音节 (Java & Python & JS & GO & C++ & C)

华为OD机考双机位C卷 - 相对开音节 , 提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 742

成员变量与局部变量

一、成员变量 在类中定义,用来描述对象将要有什么。 二、局部变量 在类的方法中定义,在方法中临时保存数据。 三、成员变量和局部变量的区别 1)作用域不同 局部变量的作用域仅限于定义它的方法. 成员变量的作用域在整个类内部都是可见的. 2)初始值不同 成员变量有默认的初始值. 局部变量没有默认的初始值,必须自行设定初始值. 3)存储位置不同 成员变量是在对象创建以后存在于堆中,对象回收时,成员变量消失. ...

m0_68905946的博客 8309

《QGIS快速入门与应用基础》161:面要素顶点编辑与形状调整

本文系统讲解了QGIS中面要素顶点编辑与形状调整的核心操作。首先明确了顶点编辑的适用场景与核心概念,强调需满足图层类型、编辑模式、要素选择等六大前提。详细介绍了编辑顶点工具(F2键)的激活路径及配套辅助工具,通过耕地地块修正案例,分步骤演示顶点移动、添加(双击/工具栏)、删除(Delete键)三大基础操作。同时提供捕捉工具开启、画布缩放等实用技巧,帮助用户高效完成面要素的精细化调整,解决实际工作中的形状偏差问题。全文图文结合,步骤清晰,适合GIS新手快速掌握面要素编辑的核心技能。

LuckyHanMo的博客 480

手把手教你学PCIE(2.1.23)--PCIe基本概念:链路速率协商

链路速率协商是一个多步骤的过程,确保发送端和接收端之间的链路速率设置一致。通过初始化链路速率寄存器、发送和接收 TS2 序列、检测链路对端的存在、交换链路速率信息、确定最大链路速率和配置链路速率,可以确保 PCIe 设备之间的数据传输速度最大化,从而提高数据传输效率。初始化链路速率寄存器:设置支持的最大链路速率。发送和接收 TS2 序列:检测链路对端的存在。交换链路速率信息:发送和支持的最大链路速率。确定最大链路速率:选择最小值作为最终链路速率。配置链路速率:更新链路速率寄存器。

MHD0815的博客 1815

全局变量和局部变量在内存里的区别?堆和栈

全局变量和局部变量在内存里的区别?堆和栈 转:一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类

runnerred的博客 7284

AD22等长布线规则

本文介绍了PCB布线中实现信号线等长的详细操作步骤:1.创建网络类(NetClass),将需要等长的信号线归入同一组;2.设置高速布线规则(High-SpeedRule),定义等长容差等参数;3.进行交互式等长布线(InteractiveLengthTuning),使用蛇形线调整线长;4.实时调整与最终检查,确保所有网络满足等长要求。文中还提供了实用技巧,如使用快捷键调整蛇形线参数、为关键信号设置更严格规则等。操作需在PCB设计软件中完成,通过统一管理、规则设置和精确调整来实现信号同步传输。

whm128的博客 1556

静态变量和成员变量、成员变量和局部变量的区别

一、 静态变量和成员变量的区别: (1):所属不同:     静态变量:属于类,也称为类变量。     成员变量:属于对象,也称为对象变量或实例变量。 (2):在内存中的位置不同:     静态变量:存储于方法区的静态区。     成员变量:存储于堆内存。 (3):生命周期不同:     静态变量:静态变量是随着类的加载而加载,随着类的消失而消失。     成员变量:成员变量是随着对象的创建而存在...

陌守 9957

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

成员变量与局部变量和静态变量的区别

一.局部变量 局部变量是定义在方法中或是方法的形参变量!局部变量只能在它所在的作用域内发挥作用!出了作用域就不能再使用了!所有的局部变量都存储在JVM中的栈内存中! public class Test { //类体中 public static void main(String[] args) { //方法体中 String name="我是局部变量!"; //这个name是main域中局部变量 System.out.

naoguoteng的博客 651

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

静态变量,成员变量,局部变量的区别

静态变量,成员变量,局部变量局部变量成员变量静态变量 局部变量 1.局部变量在方法定义中或方法声明上 2.局部变量存在于栈内存 3.局部变量随着方法的调用而存在,随着方法调用完毕消失 4.局部变量有默认初始值 成员变量 1.成员变量在类中方法外,随着对象的创建而产生 2.成员变量存在于堆内存中 3.成员变量属于对象,随着对象创建而存在,随着对象消失而消失 4.成员变量没有默认初始值 静态变量 1...

降妖问问你敢不敢的博客 347

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java 有静态局部变量吗,浅谈静态变量、成员变量、局部变量三者的区别

静态变量和成员变量的区别:A:所属不同静态变量:属于类,类变量成员变量:属于对象,对象变量,实例变量B:内存位置不同静态变量:方法区的静态区成员变量:堆内存C:生命周期不同静态变量:静态变量是随着类的加载而加载,随着类的消失而消失成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失D:调用不同静态变量:可以通过对象名调用,也可以通过类名调用成员变量:只能通过对象名调用成员变量和局部变量的...

weixin_31826689的博客 347

Java中成员变量和局部变量区别

定义、 成员变量:在类中方法外定义的变量; 局部变量:在方法内或者方法声明、语句块中定义的变量; 生命周期、 成员变量:在对象创建的时候创建,对象销毁的时候销毁; 局部变量:在方法/语句块调用的时候创建,方法/语句块结束之后销毁; 内存位置、 成员变量:堆内存; 局部变量:栈内存; 初始化值、 成员变量:数值型默认0,布偶型默认false,引用类型默认null; ...

weixin_58724261的博客 250

Java面试--成员变量、局部变量

Java面试--成员变量、局部变量 概念 成员变量 作用范围是整个类,相当于C中的全局变量,定义在方法体和语句块之外,一般定义在类的声明之下;成员变量包括实例变量和静态变量(类变量);都存放在堆(Heap)。 实例变量。独立于与方法之外的变量,无static修饰,声明在一个类中,但在方法、构造方法和语句块之外,数值型变量默认值为0,布尔型默认值为false,引用类型默认值为null;存在于堆(...

- 260

java静态方法与非静态方法和成员变量与局部变量

1、static关键字 1.1static关键字的介绍 static是静态修饰符,可以用来修饰: 成员变量:静态变量,可以直接通过类名访问 成员方法:静态方法,可以直接通过类名访问 代码块:静态代码块,当Java虚拟机加载类时,就会执行该代码块(构造代码块:每次创建对象会调用。(优先于构造方法)。用于执行所有对象均需要的初始化动作。) 1.2成员变量和局部变量区别 成...

m0_69246524的博客 1049

Java内存区和变量分布(重要!)

1.JVM(java虚拟机)主要包括三块内存空间,分别是栈内存,堆内存,方法区内存栈内存局部变量堆内存实例变量方法区内存代码片段静态变量▲需要注意的是:jdk8以后的方法区被元空间和一部分到堆里的功能代替了,只是方便理解所以还叫方法区栈:方法调用和返回、表达式求值、括号匹配等。堆:对象的创建、动态数据结构、动态数组和集合、java虚拟机的数据管理等。方法区:储存类的信息、常量池、静态变量、编译后的二进制代码。本地方法栈:调用本地方法、连接Java和本地代码库、支持操作系统和硬件相关功能。

m0_74000825的博客 900

关于成员变量和局部变量存储位置的解析

成员变量在堆内存里,局部变量在栈内存里。(基础类型) 疑问点: 既然成员变量存在于对象中,对象存在于堆中,所以成员变量存在于堆中。那么按照这样的推理,局部变量存在于方法中,而方法存在于对象中,对象存在于堆中,那是不是可以说局部变量存在于堆中? 解决思想 当对象new出来,实体存在于堆,对象的成员变量已经在堆上分配空间,但对象里面的方法是没有出现的,只出现方法的声明,方法里面的局部变量并没有创建。等到对象调用此方法时,为了加快运行的速度,方法中的局部变量才会在栈中创建,所以,方法中的局部变量是在栈内的。 当然

weixin_44275595的博客 3050

Java有关成员变量,局部变量,静态成员变量,静态成员方法之间的一些注意点以及他们在JVM内存划分中的情况

一.静态成员方法 1 .静态成员方法中不能调用非静态方法(相反可以),因为非静态方法是要用对象的引用来访问的,而静态方法是不依赖对象存在的。(比如本来你要调用静态方法,它不需要实例化对象,能够直接调用;但是你在静态方法里面加 了一个非静态方法,而非静态方法必须要实例化对象才能调用,从而引发矛盾)。 2. 静态成员方法不属于对象,该方法的地址存放在方法区中。 二.静态成员变量,局部变量,成员变量 静态成员变量只有一份,它不属于对象,存放在方法区内 局部变量存放在栈中 普通成员变量存放在堆中..

Zebra的博客 511

成员变量、局部变量、类变量

①在类中的位置不同 成员变量:在类中方法外 局部变量:在方法定义中或者方法声明上 静态变量:在类中方法外。属于类,所以也称为为类变量 ②在内存中的位置不同 成员变量:在堆内存(成员变量属于对象,对象进堆内存) 局部变量:在栈内存(局部变量属于方法,方法进栈内存) 静态变量:方法区的静态区 ③生命周期不同 成员变量:随着对象的创建而存在,随着对象的消失而消失 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失 静态变量:随着类的加载而加载,随着类的消失而消失 ④初始化值不同 成

ChaoticNg的博客 1128

变量的一些基本知识

定义类其实就是定义类的成员(成员变量和成员方法) ps:java中方法分为构造方法和成员方法成员变量和局部变量的区别 在类中的位置不同 成员变量 类中方法外 局部变量 方法内或者方法声明上在内存中的位置不同 成员变量 堆内存 局部变量 栈内生命周期不同 成员变量 随着对象的存在而存在,随着对象的消失而消失 局部变量 随着方法的调用而存在,随着方法的调用完毕而消失初始化值不同

weixin_38737789的博客 328

学习毕向东java第六天

学习毕向东java第六天 p71 this :用来区分局部变量和成员变量。 当局部变量的名字和成员变量名相同时,如name=name(局部和成员名都为name)那么两个都是局部变量 因为系统寻找时,会先去找局部的,如若局部中没有该变量名称,这才会去找成员的变量。 this的应用: number1当定义类中功能的时候,该函数内部需要调用到该函数的对象,就用this 来代替这个对象(this可以代表之...

wzw的博客 139
上一篇: (三)数据表的基本操作
下一篇: 静态方法和非静态方法的区别和调用
Myself,
博客等级 码龄7年 5粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值