JAVA中静态变量和实例变量的区别

区别是:静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。

JAVA中静态变量和实例变量的区别-Worktile社区

静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

在程序运行时的区别:

实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。

静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。

总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

例如,对于下面的程序,无论创建多少个实例对象,

永远都只分配了一个 staticInt 变量,并且每创建一个实例对象,这个staticInt就会加1;但是,每创建一个实例对象,就会分配一个random,

即可能分配多个 random ,并且每个random的值都只自加了1次。

请看如下代码:

private static int staticInt=2;//声明静态变量,并赋值

private int random=2;//声明实例变量,并赋值

//静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

//实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

public static void main(String[] arges){//定义main方法

System.out.println(staticInt);

StaticTest test=new StaticTest();//创建对象

System.out.println(test.random);//通过test调用变量

}

延伸阅读:

什么是静态变量?

静态变量(Static Variable)在计算机编程领域指在程序执行前系统就为之静态分配(也即在运行时中不再改变分配情况)存储空间的一类变量。与之相对应的是在运行时只暂时存在的自动变量(即局部变量)与以动态分配方式获取存储空间的一些对象,其中自动变量的存储空间在调用栈上分配与释放。

静态变量也可以用于存储常数。具体来说,静态变量(全局变量及汇编语言里定义的符号亦同)可用const,constant或final(根据语言决定)等关键字标识,这时其值就会在编译时设定,并且无法在运行时改变。编译器通常将静态常量与文本一起置于目标文件的文本区域,而非常量初始化数据则置于数据区;而如若有需要,有些编译器还可选择为其开辟专用区;为防止常数变量被错误的指针写入覆盖,亦可在这块区域启用内存保护机制。

文章标题:JAVA中静态变量和实例变量的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37886

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月13日 上午2:15
下一篇 2023年2月13日 上午2:17

相关推荐

  • okr怎么用

    使用OKR要做到:1、理解OKR;2、设定OKR;3、跟踪OKR进展情况。OKR是一种目标管理方法,它通过制定可衡量的目标和关键结果,帮助员工更好地了解自己的工作目标和如何实现它们。OKR方法的核心思想是:OKR方法的核心思想是:目标(Objectives)和关键结果(Key Results)。 1…

    2023年2月26日
    2600
  • 工作流管理系统的核心是什么

    工作流管理系统的核心是“工作流引擎”,又被称为工作流执行部件,它主要提供对工作流定义的解析以及流程流转的支持。基于工作流引擎,企业可以构建客户关系管理系统、运输管理系统、仓库管理系统、财务费用管理系统等复杂业务系统。 1.工作流管理系统的组成 工作流管理系统是一种软件系统,它完成工作量的定义和管理,…

    2022年11月15日
    16200
  • 什么是最普遍的加密技术

    最普遍的加密技术有两种:对称和不对称加密。这两个名称指是否同一个密钥进行加密和解密:对称加密密钥,这也被称为私人密钥加密。不对称加密密钥,这种类型使用两个不同的密钥(公共密钥和私人密钥),它们以数学方法链接在一起。 什么是最普遍的加密技术 两种最普遍的加密方法是对称和不对称加密。这两个名称指是否同一…

    2022年11月3日
    7300
  • 团队管理系统可以设置哪些状态

    团队管理系统可以设置的状态有:一、 任务状态;二、项目状态;三、团队状态;四、优先级状态。在团队管理系统中,任务状态是最基本的状态之一。它可以用来标识任务的不同阶段,以便团队成员更好地了解任务的进展情况。 一、 任务状态 在团队管理系统中,任务状态是最基本的状态之一。它可以用来标识任务的不同阶段,以…

    2023年4月24日
    1100
  • 如何保证项目进度计划的实施

    保证项目进度计划实施的方法:一、制定详细的进度计划;二、定期跟踪和更新进度计划;三、建立有效的沟通机制;四、建立有效的团队;五、识别和管理风险;六、使用项目管理工具;七、建立预算。制定详细的进度计划是确保项目进度计划实施的第一步。 一、制定详细的进度计划 制定详细的进度计划是确保项目进度计划实施的第…

    2023年3月31日
    4800
  • 项目进度甘特图怎么做

    以Google 表格为例,制作项目进度甘特图:1、将基本任务详细信息添加到 Google 表格工作表;2、计算每个任务的开始日期;3、应用简单公式自动执行任务工期等。将基本任务详细信息添加到 Google 表格工作表是指,为“任务名称”、“开始日期”等创建列并添加详细信息。 1、将基本任务详细信息添…

    2023年2月22日
    8200
  • 具备项目和日程管理的工具有哪些

    具备项目和日程管理的工具有:1、Worktile;2、PingCode;3、Redmine;4、Omniplan;5、Podio;6、Freedcamp;7、Teamweek;8、Gantt Project。Worktile是一款在国内拥有50万企业用户的项目软件,是国内使用最为广泛的项目管理系统。…

    2023年4月14日
    2700
  • Ubuntu Server安装图形界面与直接装Desktop版有哪些区别

    区别有:1、ubuntu server没有GUI;2、编译使用参数不同;3、内核支持不同。个人电脑上必备的组成部分是GUI(图形用户界面)。Ubuntu的桌面版默认带有Gnome GUI,不过如果有需要也可转换为KDE或X。而服务器版是不安装GUI 的。 1、ubuntu server没有GUI 个…

    2023年2月14日
    21600
  • 数据包,数据帧和ip数据报的区别

    区别是:数据包是TCP/IP协议通信传输中的数据单位,它包含发送者和接收者的地址信息。数据帧是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。IP数据报是TCP/IP协议定义的一个在因特网上传输的包,由首部和数据两部分组成。 数据包 包(Packet)是TCP/IP协议通信传输中的数据…

    2023年2月15日
    18500
  • 常见的软件风险有哪些

    常见的软件风险有:1、技术风险;2、管理风险;3、过程风险;4、人员风险。其中,技术风险主要体现在影响软件生产率的各种要素上,需求识别不完备;客户对需求缺乏认同;客户不断变化的需求等。 一、技术风险 技术风险主要体现在影响软件生产率的各种要素上。 二、管理风险 三、过程风险 四、人员风险 延伸阅读 …

    2023年5月5日
    6500

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部