static关键字以及Java静态变量和静态方法
6页1、static 修饰符能够与变量、方法一起使用,表示是“静态”的。(参考详情: 1 public class Demo 2 static int i = 10; 3 int j; 4 Demo() 5 this.j = 20; 6 7 public static void main(String args) 8 (类变量 i= + Demo.i); 9 Demo obj = new Demo();10 (实例变量 j= + obj.j);11 12 运行结果:类变量 i=10实例变量 j=20static 的内存分配静态变量属于类,不属于任何独立的对象,所以无需创建类的实例就可以访问静态变量。之所以会产生这样的结果,是因为编译器只为整个类创建了一个静态变量的副本,也就是只分配一个内存空间,虽然有多个实例,但这些实例共享该内存。实例变量则不同,每创建一个对象,都会分配一次内存空间,不同变量的内存相互独立,互不影响,改变 a 对象的实例变量不会影响 b 对象。请看下面的代码: 1 public class Demo 2 static int i; 3 int j; 4 public stat
2、ic void main(String args) 5 Demo obj1 = new Demo(); 6 obj1.i = 10; 7 obj1.j = 20; 8 9 Demo obj2 = new Demo();10 11 (obj1.i= + obj1.i + , obj1.j= + obj1.j);12 (obj2.i= + obj2.i + , obj2.j= + obj2.j);13 14 运行结果:obj1.i=10, obj1.j=20obj2.i=10, obj2.j=0注意:静态变量虽然也可以通过对象来访问,但是不被提倡,编译器也会产生警告。上面的代码中,i 是静态变量,通过 obj1 改变 i 的值,会影响到 obj2;j 是实例变量,通过 obj1 改变 j 的值,不会影响到 obj2。这是因为 obj1.i 和 obj2.i 指向同一个内存空间,而 obj1.j 和 obj2.j 指向不同的内存空间,请看下图:图1 静态变量内存分配注意:static 的变量是在类装载的时候就会被初始化。也就是说,只要类被装载,不管你是否使用了这个static 变量,它都会被
《static关键字以及Java静态变量和静态方法》由会员枫**分享,可在线阅读,更多相关《static关键字以及Java静态变量和静态方法》请在金锄头文库上搜索。
新人教版五年级上册数学期中考试复习要点.docx
2023年园艺园林学院防艾宣传活动总结.docx
关于T商业银行的服务运营模式
2023年农民工培训工作方案 4.doc
2023年XX县科技局年度党建工作计划新编.docx
选修课程策划方案
2023活动计划1257范文.docx
授之以渔循序渐进完成作文.doc
街道社区拉网式执法检查计划与街道社区消防工作计划汇编
大连理工大学21秋《起重机金属结构》在线作业三满分答案24
2023年论房地产企业应增强法制意识履行社会责任.docx
碱金属腐蚀分析
XX土地买卖居间合同范本_1
2023年销售经理年终工作总结范文(2篇).doc
现金流量表另类编制法
2023年高中入学自我介绍范文.docx
2023年团圆的节日作文.docx
2023年学生会纪检部工作计划.docx
2023年全市土地管理工作意见.docx
2023年白血病爱心募捐倡议书.docx
2024-01-04 118页
2024-01-29 12页
2023-09-18 11页
2022-08-25 4页
2022-11-01 4页
2023-01-22 53页
2024-02-01 11页
2023-01-02 3页
2023-04-24 4页
2023-04-29 11页