Java 变量类型(类变量,实例变量,局部变量)
2017-12-02 14:58
197 查看
原文地址:http://chenxiaoqiong.com/articles/variate/
Java语言支持的变量类型有:
静态变量:static 修饰的,类中、方法外的变量。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。
Java 中静态变量和实例变量区别:
静态变量属于类,该类不生产对象,通过类名就可以调用静态变量;实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。
在程序运行时的区别:
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
看一个例子:
执行以上程序,输出结果为:
staticInt = 3 random = 3
staticInt = 4 random = 3
无论创建多少个实例对象,永远都只分配了一个 staticInt 变量,并且每创建一个实例对象,这个 staticInt 就会加 1;但是,每创建一个实例对象,就会分配一个 random,
即可能分配多个 random ,并且每个 random 的值都只自加了1次。
Java语言支持的变量类型有:
静态变量:static 修饰的,类中、方法外的变量。
实例变量:独立于方法之外的变量,不过没有 static 修饰。
局部变量:类的方法中的变量。
Java 中静态变量和实例变量区别:
静态变量属于类,该类不生产对象,通过类名就可以调用静态变量;实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。
在程序运行时的区别:
实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。
静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。
总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。
看一个例子:
public class StaticTest { privat 4000 e 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
无论创建多少个实例对象,永远都只分配了一个 staticInt 变量,并且每创建一个实例对象,这个 staticInt 就会加 1;但是,每创建一个实例对象,就会分配一个 random,
即可能分配多个 random ,并且每个 random 的值都只自加了1次。
相关文章推荐
- 使用eclipse JDT compile class,解决 无法确定 X 的类型参数;对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最大实例
- java线程安全问题之静态变量、实例变量、局部变量
- 【Java 基础】Java 局部变量、实例变量、类变量(静态变量)区别
- java-02-类变量-实例变量-局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- Java实例变量、类变量与局部变量
- java线程安全问题之静态成员变量、实例成员变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全之静态变量、实例变量、局部变量
- 在实例中说明java的类变量,成员变量和局部变量
- 相同的代码在eclipse中编译成功,但是用ant编译失败。无法确定<T>T的类型参数;对于上限为int,java.lang.Object的类型变量T,不存在唯一最大实例
- java线程安全问题之静态变量、实例变量(类变量)、局部变量
- java 实例变量与局部变量之间的差别,变量的比较
- java线程安全问题之静态变量、实例变量、局部变量
- Java:线程安全之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量
- java 局部变量,类变量,实例变量的作用域,生命周期
- java中静态变量、实例变量、局部变量的线程安全性
- java线程安全问题之静态变量、实例变量、局部变量
- java线程安全问题之静态变量、实例变量、局部变量