精华内容
下载资源
问答
  • 静态变量和实例变量的区别?

    千次阅读 2018-11-16 15:58:47
    1)在语法定义上的区别:静态变量前要加 static 关键字,而实例变量(成员变量)前则不加。 2)在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个...

    1)在语法定义上的区别:静态变量前要加 static 关键字,而实例变量(成员变量)前则不加。
    2)在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。

    静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,只分配一次,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
    参考代码:VariantTest

    // 静态变量和实例变量的区别
    public class VariantTest {
    	public static int staticVar = 0;
    	public int instanceVar = 0;
    
    	public VariantTest() {
    		staticVar++;
    		instanceVar++;
    		System.out.println("staticVar=" + staticVar + ",instanceVar=" + instanceVar);
    	}
    	
    	public static void main(String[] args) {
    		VariantTest v1 = new VariantTest();
    		VariantTest v2 = new VariantTest();
    		VariantTest v3 = new VariantTest();
    		VariantTest v4 = new VariantTest();
    		VariantTest v5 = new VariantTest();
    	}
    }
    
    
    展开全文
  • 这道题,我们来看一下,首先得明白,什么是静态变量,什么是实例变量! 看下面这个代码 class Demo1{ //静态变量 public static int a = 1; //实例变量 public int b = 1; public Demo1(){ a++; b++; ...

    恩……..这道题,我们来看一下,首先得明白,什么是静态变量,什么是实例变量!
    看下面这个代码

    class Demo1{
        //静态变量
        public static int a = 1;
        //实例变量
        public int b = 1;
    
        public Demo1(){
            a++;
            b++;
            System.out.println("静态变量: "+a+"实例变量b: "+b);
        }
    }

    这个demo里的a 就是静态变量,b就是实例变量,
    我们在调用静态变量的时候,可以直接使用 类名.静态对象名 来调用 ,比如
    Demo1.a
    而实例对象使用的时候是通过 new demo().b 来调用的!
    我们再来看这道面试题!
    静态变量不属于某个实例对象,而是属于类,也叫类变量,只要程序加载了类的字节码,不用创建任何实例对象就会被分配空间,就可以被使用,也就是说,你创建了多个对象,他们共用了一个静态变量,而实例对象是属于自己的独有的,不会被共享!
    可以看看下面的代码演示

    public class Test {
    
        public static void main(String[] args) {
            Demo1 d1 = new Demo1();
            Demo1 d2 = new Demo1();
        }
    
    }
    class Demo1{
        //静态变量
        public static int a = 1;
        //实例变量
        public int b = 1;
    
        public Demo1(){
            a++;
            b++;
            System.out.println("静态变量: "+a+"实例变量b: "+b);
        }
    }
    

    最后的结果为
    这里写图片描述

    可以看出来 静态变量是公共的,而实例对象,是自己用自己的!

    展开全文
  • Java中静态变量和实例变量的区别

    万次阅读 多人点赞 2018-07-30 15:24:21
    小编打算利用暑假的时间重新系统的学习一下Java,以前也写了一部分关于Java的博客,但是写的很糟糕,打算重新写一下,就主要写一下学习...在Java中,静态变量和实例变量可以统称为成员变量。首先,明白什么是静态变...

    小编打算利用暑假的时间重新系统的学习一下Java,以前也写了一部分关于Java的博客,但是写的很糟糕,打算重新写一下,就主要写一下学习过程中遇到的问题,希望能对广大Java学习爱好者有所帮助(本人菜鸟一只,欢迎各路大佬指点迷津)。

    不知道是刚睡醒的缘故,还是重新学习Java缘故,看到变量这一块的时候竟然看懵了,唉~~~

    在Java中,静态变量和实例变量可以统称为成员变量。首先,明白什么是静态变量,什么是实例变量,他们定义的形式。静态变量也叫做类变量,独立于方法之外的变量,有static修饰。实例变量同样独立也是独立于方法之外 的变量,但没有static修饰。

    举个例子:

    public class StaticTest {
        private static int staticInt = 2;//静态变量
        private int random = 2;//实例变量
    
        public StaticTest() {
            staticInt++;
            random++;
            System.out.println("staticInt = "+staticInt+"  random = "+random);
        }
    
        public static void main(String[] args) {
            StaticTest test = new StaticTest();
            StaticTest test2 = new StaticTest();
        }
    }

    看到上述代码,大家可以想一下测试结果。

    下面公布正确答案:

    staticInt = 3  random = 3
    staticInt = 4  random = 3

    是否和你想的一样?上述例子很好的解释了静态变量和实例变量的区别。

    下面来干货了,注意收好。

    区别总结如下:

    实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。结合上述给出的例子。每创建一个实例对象,就会分配一个random,实例对象之间的random是互不影响的,所以就可以解释为什么输出的两个random值是相同的了。

    静态变量不属于某个实例对象,而是属于整个类。只要程序加载了类的字节码,不用创建任何实例对象,静态变量就回被分配空间,静态变量就可以被使用了。结合上述给出的例子,无论创建多少个实例对象,永远都只分配一个staticInt 变量,并且每创建一个实例对象,staticInt就会加一。

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

    其实,这也可以解释,为什么static修饰的方法不用在实例对象创建后,可以调用。而没有static修饰的方法必须要与对象关联在一起,必须创建一个对象后,才可以在该对象上进行方法调用。

    展开全文
  • 本篇文章介绍了,java中静态变量和实例变量的区别。需要的朋友参考下
  • 静态变量 也称为类变量,是被static修饰符修饰的变量。可以直接用类名调用,也可以用对象调用,而且所有对象的同一个类变量都是共享同一个内存空间的。 实例变量 也叫对象变量,没有static修饰,只能通过对象调用,...

    静态变量

    也称为类变量,是被static修饰符修饰的变量。可以直接用类名调用,也可以用对象调用,而且所有对象的同一个类变量都是共享同一个内存空间的。

    实例变量

    也叫对象变量,没有static修饰,只能通过对象调用,而且所有对象的同一个实例变量是共享不同内存空间的。

    区别在于:静态变量是所有对象共有的,某一个对象将它的值改变了,其他对象 再去获取它,得到的是改变后的值。

    实例变量则是每一个对象私有的,某一个对象将它的值改变了,不影响其他对象的取值结果,得到的仍是实例变量一开始被赋予的值。

    展开全文
  • (类变量)静态变量和实例变量的区别?

    万次阅读 多人点赞 2017-07-21 21:34:29
    静态变量在类中,不属于实例对象,属于类所有,只要程序加载了字节码,不用创建实例对象静态变量就会被分配空间,已经可以使用。 实例变量是某个对象的属性,只有实例化对象后,才会被分配空间,才能使用。 类变量...
  • 阐述静态变量和实例变量的区别?

    千次阅读 2018-03-13 08:45:53
    静态变量: 是被static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个...实例变量: 必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对象共享内存。...
  • 主要介绍了C#静态变量实例变量,是深入掌握PHP程序设计所必须掌握的重要概念,需要的朋友可以参考下
  • 有关静态变量和实例变量的资料,有详细的说明,大家可以看一下。我这里 有大量的关于c#的资料 要的话可以私信我
  • 静态变量和实例变量的区别? 1)静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。  2).实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。  静态变量存储在方法区,属于类所有.实例...
  • 本文实例讲述了JS中类的静态方法,静态变量,实例方法,实例变量区别与用法。分享给大家供大家参考,具体如下: 1.类的静态方法 先来段代码之后分析 // JS类静态函数 function BaseClass() { } // 类添加add函数 ...
  • 静态变量和实例变量的区别? /* 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。  * 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配...
  • 静态变量实例变量的区别 静态变量静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量的内存中有且仅有一个拷贝; 实例变量实例变量...
  • 静态方法(static method) 先从一道笔试题说起 关于Java中的静态方法,下列说法哪些是正确的() A:静态方法是一个属于...它这边的意思是不能直接访问非静态数据(实例变量),因为非静态数据是属于对象属性的,其...
  • 这里使用静态变量目的是在类中实现一个静态的队列,这里用数组实现,任何时候插入到队列中的数据不会类的实例有直接关系。 __author__ = 'Administrator' class CaptchaImage: def queue(self,arr=list()): ...
  • 面试题:静态变量和实例变量的区别?

    万次阅读 多人点赞 2015-06-02 20:12:48
    在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。  在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量静态变量...
  • Java类中静态变量和实例变量有什么 区别呢?今天详细系统的整理一下:  1、静态变量(即类变量)有static修饰,而实例变量没有  2、实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名...
  • 本文实例讲述了C#中static静态变量的用法。分享给大家供大家参考。具体如下: 使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员static修饰符可用于类、字段、方法、属性、运算符、事件构造函数,...
  • 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量静态变量不...
  • 静态变量(类变量)和实例变量的区别

    千次阅读 2017-12-26 16:18:21
    1、首先在语法定义上区别:静态变量前面要加static,实例变量不用。2、在程序运行时:实例变量输入对象的属性,必须创建了实例对象(如 new)才会被分配空间,才可以使用实例变量静态变量不属于某个实例对象,而是...
  • 静态变量是被static修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝; 实例变量必须依存于某一实例,需要先创建对象然后通过对象...
  • 根据定义变量的位置的不同,可以将变量分成成员变量和局部变量: 1.成员变量定义在类中方法外(所以在类中都可以访问),局部变量定义在方法中(所以在方法中可以访问)。 2.成员变量随着对象的建立而建立,随着对象...
  • 由static修饰的变量称为静态变量,其实质上就是一个全局变量。如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰;没有被静态修饰的内容,其实是属于对象的特殊描述。 不同的对象的实例变量将被分配不同...
  • Java中类变量(静态变量和实例变量区别

    千次阅读 多人点赞 2018-04-14 16:01:34
    成员变量:把类内、方法体外定义的变量称为成员变量。Java中的成员变量分为两种:一是没有...类变量和实例变量的区别是:类变量在内存中只存一份,在程序运行时,系统只为类变量分配一次内存,只进行一次的初始化。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 576,555
精华内容 230,622
关键字:

静态变量和实例变量