黑马程序员技术交流社区
标题: 分享面试题 [打印本页]
作者: 天,殇心 时间: 2014-6-30 22:16
标题: 分享面试题
静态变量和实例变量的区别? 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
例如,对于下面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
public class VariantTest{
public static int staticVar = 0;
public int instanceVar = 0;
public VariantTest(){
staticVar++;
instanceVar++;
System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);
}
}
作者: 朱艺丹 时间: 2014-6-30 23:09
谢谢分享
作者: 骑士 时间: 2014-7-1 08:50
顶。。。
作者: java_668 时间: 2014-7-1 08:58
:handshake
作者: №星晨∮ 时间: 2014-7-1 15:22
爱分享的人,都是有爱心的
作者: 小呀嘛小二郎 时间: 2014-7-1 15:54
赞一个~~
作者: 天,殇心 时间: 2014-7-1 16:35
呵呵!!!大家都是有爱心的,互相学习
作者: 汤姆纳斯 时间: 2014-7-1 17:27
多谢分享啊!
作者: 小风子 时间: 2014-7-1 17:33
谢谢分享
作者: 天,殇心 时间: 2014-7-1 18:51
互相分享些,互相学习
作者: sydeay 时间: 2014-7-2 00:20
多谢分享!
作者: 霜林醉zhx 时间: 2014-7-2 00:27
谢谢分享
作者: jesssy 时间: 2014-7-2 10:05
O(∩_∩)O谢谢楼主的分享。。。
作者: huangqili 时间: 2014-7-2 10:08
谢谢分享了!!!:lol
作者: ahuhxl 时间: 2014-7-2 10:18
Mark一下
作者: 月明星稀 时间: 2014-7-2 13:34
感谢分享
作者: dispensable 时间: 2014-7-2 13:46
呃呃……挺简单的一题,谢谢分享
作者: I'm_permanent. 时间: 2014-7-2 16:23
感谢分享,辛苦了!
作者: Running 时间: 2014-7-2 16:32
好人啊,,分享面试题的人真是不多啊!!
作者: 踏雪风暴 时间: 2014-7-2 16:48
顶顶顶顶
作者: 多此一举 时间: 2014-7-2 16:58
多谢分享!
作者: caiyaoren 时间: 2014-7-2 20:31
这是面试题吗???????????
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |