博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态变量和实例变量的区别
阅读量:6495 次
发布时间:2019-06-24

本文共 425 字,大约阅读时间需要 1 分钟。

我的答案:

静态变量和实例变量的区别是静态变量的访问是不依赖对象的,因为在类加载的链接阶段(检验、准备、解析)的准备阶段时他们就被送入JVM方法区。被static修饰的代码在程序中之后被执行一次。

 

巨佬的答案:

在语法定义上的区别:

静态变量前要加static,而实例变量不需要。

在程序运行时的区别:实例变量属于某个对象的属性,只有在创建了对象后,实例变量才会被分配空间。静态变量不属于某个对象,而是属于类,因此也被称为类变量。在类的加载过程中,静态变量就被分配了空间,并可以通过类名的访问。而实例变量必须在通过创建好的对象来访问。

大佬的答案解除了我一个疑惑:既然静态变量在类加载时就被分配了空间, 那么非静态变量啥时候被分配空间?

思维拓展:每个对象都有属于自己的一套变量需要在对象实例化时被分配空间,类只是一个创建对象的模板。

转载于:https://www.cnblogs.com/2sheep2simple/p/10687198.html

你可能感兴趣的文章
字符串变量小议
查看>>
232. Implement Queue using Stacks
查看>>
Poj(1469),二分图最大匹配
查看>>
和菜鸟一起学linux之V4L2摄像头应用流程【转】
查看>>
spin_lock、spin_lock_irq、spin_lock_irqsave区别【转】
查看>>
删除 mac 垃圾桶内清除不掉的文件
查看>>
【响应式编程的思维艺术】 (5)Angular中Rxjs的应用示例
查看>>
/bin/bash^M: bad interpreter: No such file or dire
查看>>
python xml rpc
查看>>
Java设置以及获取JavaBean私有属性进阶
查看>>
db2表结构导出导入,数据库备份
查看>>
策略模式
查看>>
OrderOnline——项目概述
查看>>
POJ-2739(Water)
查看>>
【转】第三节 UNIX文件系统结构
查看>>
为什么sql里面not in后面的子查询如果有记录为NULL的,主查询就查不到记录
查看>>
Angular7里面实现 debounce search
查看>>
Linux 内核链表
查看>>
git学习------>Git 分支管理最佳实践
查看>>
括号和出栈所有序列问题
查看>>