黑马程序员技术交流社区

标题: 分享面试题 [打印本页]

作者: 天,殇心    时间: 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 15:22
爱分享的人,都是有爱心的

呵呵!!!大家都是有爱心的,互相学习
作者: 汤姆纳斯    时间: 2014-7-1 17:27
多谢分享啊!
作者: 小风子    时间: 2014-7-1 17:33
谢谢分享
作者: 天,殇心    时间: 2014-7-1 18:51
汤姆纳斯 发表于 2014-7-1 17:27
多谢分享啊!

互相分享些,互相学习
作者: 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