实例变量
恩……..这道题,我们来看一下,首先得明白,什么是静态变量,什么是实例变量!
看下面这个代码
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函数-------------------------
项目组成员在针对要开发的系统做需求调研后,就要编写对应的需求说明书。 作为软件工程师,你就得知道需求分析说明书和需求规格说明
前几天 facebook 开源的 caffe2,让我们在深度学习框架上又多了一个选择。caffe2 宣称是轻量级
1. 进程的有哪几种状态,状态转换图,及导致转换的事件。(1)进程的五状态模型:运行态:该进程正在执行。就绪态:进程已经做好了准
代理服务器的类型很多,如HTTP代理、FTP代理、SOCKS代理等,每种代理对应其自身的功能。 HTTP代理:能够代理客户机的HTTP访