必威体育Betway必威体育官网
当前位置:首页 > IT技术

【一道面试题】静态变量和实例变量的区别

时间:2019-10-06 16:13:23来源:IT技术作者:seo实验室小编阅读:70次「手机版」
 

实例变量

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

看下面这个代码

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);
    }
}

最后的结果为

这里写图片描述

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

相关阅读

【Matlab】conv2、filter2、imfilter的区别

http://www.ilovematlab.cn/thread-293710-1-1.html -------------------------------------conv2函数-------------------------

项目、系统开发中的需求分析说明书和需求规格说明书的

项目组成员在针对要开发的系统做需求调研后,就要编写对应的需求说明书。 作为软件工程师,你就得知道需求分析说明书和需求规格说明

caffe和caffe2的区别

前几天 facebook 开源的 caffe2,让我们在深度学习框架上又多了一个选择。caffe2 宣称是轻量级

操作系统常见面试题

1.     进程的有哪几种状态,状态转换图,及导致转换的事件。(1)进程的五状态模型:运行态:该进程正在执行。就绪态:进程已经做好了准

socks4/5和http代理有什么区别

代理服务器的类型很多,如HTTP代理、FTP代理、SOCKS代理等,每种代理对应其自身的功能。      HTTP代理:能够代理客户机的HTTP访

分享到:

栏目导航

推荐阅读

热门阅读