JAVA静态变量和实例变量的区别
2015-11-20 16:20
447 查看
语法区别:静态变量需要有关键字Static,实例变量不需要。
程序运行区别:1:实例变量必须建立实例对象才能分配空间,才能使用。静态变量属于类,也称为类变量,可以通过类名访问。
注意:一下的代码输出,可以区分静态变量和实例变量的区别。
package java面试;
public class Static {
public static void main(String[] args) {
Static a = new Static();
Static b = new Static();
}
public static int staticVar = 0;
public int instanceVar = 0;
public Static(){
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + "instanceVar="+ instanceVar);
}
}
输出:staticVar=1instanceVar=1
staticVar=2instanceVar=1
对于上面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;
但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
程序运行区别:1:实例变量必须建立实例对象才能分配空间,才能使用。静态变量属于类,也称为类变量,可以通过类名访问。
注意:一下的代码输出,可以区分静态变量和实例变量的区别。
package java面试;
public class Static {
public static void main(String[] args) {
Static a = new Static();
Static b = new Static();
}
public static int staticVar = 0;
public int instanceVar = 0;
public Static(){
staticVar++;
instanceVar++;
System.out.println("staticVar=" + staticVar + "instanceVar="+ instanceVar);
}
}
输出:staticVar=1instanceVar=1
staticVar=2instanceVar=1
对于上面的程序,无论创建多少个实例对象,永远都只分配了一个staticVar变量,并且每创建一个实例对象,这个staticVar就会加1;
但是,每创建一个实例对象,就会分配一个instanceVar,即可能分配多个instanceVar,并且每个instanceVar的值都只自加了1次。
相关文章推荐
- Android Studio快捷键设置之实现原eclipse中ctrl+m的全屏的效果
- Java的运算符
- 排序算法学习总结
- java不同分辨率图片上传
- Java 根据某个文件名,获取相对应的文件夹,然后取文件夹中所有文件
- eclipse安装scala插件
- 第一个JAVA程序
- Java基础06 组合
- javaWEB之-----------简单的相册管理
- LRU缓存实现(Java)
- Eclipse daemon not running. starting it now on port ***的
- crontab无法调用java的问题解决
- c# java数据类型不同点
- Java---堆栈的理解
- java通过Servlet生成验证码
- Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
- Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息
- 【leetcode】-----Roman to Integer
- eclipse切换至分支报错:Authorization failed
- java对象和json对象之间互相转换